使用AbstractUIPlugin.getImageDescriptor调用镜像与将镜像放入镜像仓库与从镜像仓库调用有什么不同?
看起来两个人都在做同样的工作。第一个更简单(代码更少!)。
这段代码:
ImageDescriptor id = Activator.getImageDescriptor("image/image.png");
Image image = id.createImage();vs
先放入镜像注册表..
protected void initializeImageRegistry(ImageRegistry registry) {
super.initializeImageRegistry(registry);
Bundle bundle = Platform.getBundle(ID);
ImageDescriptor myImage = ImageDescriptor.createFromURL(
FileLocator.find(bundle,
new Path("image/image.png"),
null));
registry.put(MY_IMAGE_ID, myImage);
}然后从镜像注册表调用image ..
AbstractUIPlugin plugin = Activator.getDefault();
ImageRegistry imageRegistry = plugin.getImageRegistry();
Image myImage = imageRegistry.get(Activator.MY_IMAGE_ID);发布于 2012-09-26 12:48:09
每次您调用它时,它都会创建单独的图像。最后,您将以"No more handles“异常结束。:)
ImageDescriptor id = Activator.getImageDescriptor("image/image.png");
Image image = id.createImage();当你关闭你的应用程序时,总是缓存图像,重用和处置。如果您使用ImageRegistry,AbstractUIPlugin将为您处理它。
https://stackoverflow.com/questions/12594047
复制相似问题