- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Eclipse插件开发培训-资源管理(进阶) 朱兴 2008-07-26 MSN: zhu_xing@ Eclipse平台(开发者视角) Eclipse资源管理、Java io (nio)、文件系统 Eclipse资源管理任务和作用 Eclipse资源管理的主要任务 Change tracking :变化跟踪 Resource metadata:资源描述信息 State management:状态持久化 Full save:全面保存(工作区启动或者退出) Snapshot:只保存关键性的需要复杂计算的信息 Eclipse资源管理的重大作用 在Java IO基础之上提供了完善的状态管理、变化跟踪 为进一步建立特定运行时模型提供了重要基础 JDT Element Model … Eclipse 2.X中的资源管理 Eclipse 3.X中的资源管理 Eclipse Runtime:Job、ISchedulingRule Job Eclipse线程支持 ISchedulingRule 作用:Job协调,冲突控制 要脱离resource management模块理解 注意锁定范围,参照synchronized关键字的用法 Eclipse资源管理: Batching操作 IWorkspaceRunnable 创建IWorkspaceRunnable实现 执行runnable IWorkspace.run(IWorkspaceRunnable action, IProgressMonitor monitor) Eclipse 3.0之前执行运行方式,锁住整个工作区 IWorkspace.run(IWorkspaceRunnable action, ISchedulingRule rule, int flags, IProgressMonitor monitor) 更丰富参数配置,更好性能,协调冲突 Eclipse资源管理: Batching操作 IWorkspaceRunnable优点 原则性批量操作,可以简单理解为只发一次事件 提高健壮性 可以进一步包装,提供丰富的用户交互性 IWorkspaceRunnable注意点 不要误认为会启动一个新的线程 UI操作包装在Display.sync或Display.async中 注意和IWorkspaceJob的适用场景区别 注意和ISchedulingRule的配合使用,效率 Eclipse资源管理: 后台Batching操作 IWorkspaceJob 将一个IWorkspaceRunnable防止于Job中运行 默认会启动一个新的后台、异步线程 统一可以配置一个ISchedulingRule Eclipse资源管理:Batching相关装饰接口 IWorkspaceJob 将一个IWorkspaceRunnable防止于Job中运行 WorkspaceModifyOperation 包装一个IWorkspaceRunnable在UI上下文中运行 IProgressService 一般是执行一个WorkspaceModifyOperation ,提供更多交互,例如取消、进度显示等 Eclipse资源管理-变化跟踪机制 Eclipse的资源管理模块中提供了资源变化跟踪机制,允许用户在变化后执行自定义操作,两种机制目的不同,包括: 资源变化监听器:后台运行 Builder:处理编译,和用户有交互 Eclipse资源管理:资源变化监听器 事件处理核心接口 IResourceChangeListener IResourceDelta(资源变化增量) IResourceDeltaVisitor(增量访问者) 注册监听器 IWorkspace.addResourceChangeListener 移除监听器 IWorkspace. removeResourceChangeListener 编写resource change listener注意点 确保Lightweight 和 Fast!!! 不对IResourceDelta做缓存!!! 多个listener之间保持透明,不互相依赖 UI操作需要使用Display.sync/async进行封装 性能优化点 配合IResourceDeltaVisitor,提升过滤效率 IResourceDelta.findMember(IPath) ,快速查找特定资源的变化 IResourceChangeEvent.findMarkerDeltas ,快速收集Marker … Eclipse资源管理:资源描述 工作区层面(ResourceInfo) Workspace. updateModificationSta
您可能关注的文档
最近下载
- 《中国共产党纪律处分条例》六大纪律内容提纲(二).pdf VIP
- 电梯安全管理培训感想课件.pptx VIP
- 大载荷无人机应急救援系统技术要求.docx VIP
- 高考语文阅读专题散文阅读练习-(精品·课件).ppt VIP
- sap hanna studio自总结_hana创建用户.pdf VIP
- 系统性红斑狼疮疾病活动度评分表(SLEDAI-2000).docx VIP
- 豪恩汽电首次覆盖报告:智驾感知层国产龙头,新能源与出海打开成长空间.pdf
- 《机井井管标准》SL154-2013.pdf VIP
- 高考语文阅读专题:散文阅读.doc VIP
- 新教科版一年级上册科学《我们知道的植物》ppt教学课件.pptx VIP
文档评论(0)