用 Runtime Spy 调整 Eclipse 的启动性能,第 1 部分:开始
2009-12-13 00:00:00 来源:WEB开发网追踪插件为什么被加载
上一个例子说明了一个特定类为什么会被加载。您还可以查看一个给定的插件为什么被加载,但是插件的激活原因看起来不是那么明显,因为起因是间接的。一般情况下,类是由于被另一个类的方法引用而被加载(并且您还可以参考相应的 import 语句),与之不同,插件的加载是一些间接引用的结果。不要忘记,我们的目的是,不到插件被用到的时候尽量不去加载它,所以对插件本身的引用这样实现:
显示地声明标识,比如插件清单中的 <import plugin="org.eclipse.ui"> ,或者
隐式地标识,比如为那个插件导出包到运行期 JAR 中。
这两个例子都在“Hello, Eclipse”插件清单节选中突出显示了,见清单 1。
清单 1. “Hello, Eclipse”的扩展点样例
<?xml version="1.0" encoding="UTF-8"?>
<plugin ...>
... lines omitted ...
<runtime>
<library name="hello.jar"/>
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.core.resources"/>
<import plugin="org.eclipse.ui"/>
</requires>
... lines omitted ...
<extension point="org.eclipse.ui.actionSets">
<actionSet
label="Sample Action Set"
visible="true"
id="hello.actionSet">
<menu
label="Sample &Menu"
id="sampleMenu">
<separator
name="sampleGroup">
</separator>
</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>
更多精彩
赞助商链接