快速业务通道

用Runtime Spy调整Eclipse的启动性能,第1部分 - 开始 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
;       </menu>       <action        label="&Sample Action"        icon="icons/sample.gif"       class="hello.actions.SampleAction"        tooltip="Hello, Eclipse world"        menubarPath="sampleMenu/sampleGroup"        toolbarPath="sampleGroup"  id="hello.actions.SampleAction">       </action>     </actionSet>    </extension>

对 org.eclipse.ui.actionSets 扩展点动作设置的贡献隐式地依赖于定义插 件,即 Workbench UI 插件(org.eclipse.ui)。Workbench 插件会去读取插件 注册表,那里包含了对它的 org.eclipse.ui.actionSets 扩展的这一贡献,并 创建相应的动作设置。SampleAction 类将不会在这里被加载,因此包含它的插 件也不会被加载。取而代之的是,Workbench 插件定义了一个委派动作来代表用 户界面中的选择,这个委派动作会等待,直到用户真正选择它才创建 SampleAction 的一个实例来处理响应。

为创建 SampleAction 的一个实例,动作代表(action delegate)调用插件 注册表实例 IConfigurationElement 的 createExecutableExtension 方法,对 应于我们的例子清单文件中指定的 <action class="hello.actions.SampleAction" ...> 标签。虽然那样不错,但是有 时在栈记录结果中不容易看出来。让我们来仔细看一个比“Hello, Eclipse”按 钮选择更难的例子。图 6 显示了一个由可执行扩展处理而导致的典型(插件) 激活。现在让我们用 Stack Trace 视图来确定其原因,步骤同前。

图 6. Stack Trace 视图显示了可执行扩展的启动

在这个例子中,我们从栈记录高亮部分的底部可以看出,这些都是源于 PDE 的 Plug-ins 视图中的一次双击。默认的动作处理者负责处理请求 Workbench 打开 Plug-in Manifest 编辑器的动作,随后激活 org.eclipse.ui.editors 插 件。栈记录的高亮部分只是显示了扩展点处理器的代码,因为它对 Workbench 插件类 (org.eclipse.ui) 的引用是间接的。通过六次类似的栈记录,您将识别 出对 IConfigurationElement.createExecutableExtension 调用前后重要的部 分,并很快看出是谁启动了它以及结果是什么。您可以再次选择 按钮来更新加载的类并重新按加载顺序排序,以更好地了解插件启动 后发生了什么事情。

用Runtime Spy调整Eclipse的启动性能,第1部分 - 开始(5)

时间:2010-12-02 IBM Dan Kehn

其他有用的视图

最后, Plugin Datasheet视图总结了一些有趣的统计数据,例如插件定义了 多少资源和扩展,如图 7 所示。

图 7. Plugin Datasheet 显示被使用的资源

这个视图追踪了由 IPluginDescriptor.getResourceString 方法及其变量加 载的资源束(resource bundle)数据。这一总结信息得益于这样一个事实,即 Eclipse 平台运行期有其自己的类加载器,并且类加载器像处理类一样处理资源 束,因此保持对资源数据统计的追踪很简单。“not loaded yet”消息表示实际 上插件注册表写到了磁盘上,它所引用的部分只是在需要的时候才加载。

侦探运行期工作台

前一节介绍了侦探 Eclipse 本身的底层设施。更实际的是,您会希望侦探测 试版工作台,称为 运行期工作台。您可以选择 Run > Run As... > Run -time Workbench并转到 Tracing 页,来配置您希望启动的运行期工作台的实例 ,如图 8 所示。

图 8. 在 Tracing 页中设置 Runtime Spy 选项

org.eclipse.core.boot 插件的调试选项也位于我们前面讨论的 <inst_dir>\eclipse\plugins\org.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号