我的问题是非常简单和射击。 但希望我能有一个明确的答案。 我们可以创建在许多方面GWT图像。
Image image = new Image ( (ImageResource)imageRes);
Image image = new Image ( (ImageResource)imageRes.getSafeUri() );
Image image = new Image ();
image.setUrl((ImageResource)imageRes.getSafeUri().asString() );
我的问题是:什么是这3种方式创建使用ImageResouce新形象之间的差异。 哪一个是最好的或更快的为首次加载?
谢谢
首先,你不应该使用的最后两个。
一个ImageResource
技术上代表“拼合”图像内的区域:它有一个URL的精灵和地区的该图像上的坐标。 在许多浏览器,对于大多数图像,URL实际上是一个data:
URL和该地区将代表整个图像。 这可以在使用每个图像的基础来控制@ImageOptions(preventInlining=true)
或全局与set-property
上的gwt.xml
。 换句话说,你的代码不应该依赖于它,应该始终把一个ImageResource
一个拼合后的图片中的区域。
仅供参考,其中拼合后的图片实际上是默认使用的情况下,是IE6 / 7,不支持data:
网址,并太大,以适应内的图像data:
URL(所有浏览器)。
但是,这是你在做什么在最后两种情况:仅使用的URL ImageResource
,因为如果不是(潜在的)一个拼合后的图片。