为什么我们在GWT中使用ClientBundle和ImageResource?

时间:2015-02-19 13:19:14

标签: gwt

public ImageBundleExample() {

    MyImageBundle objBundle = GWT.create(MyImageBundle.class);

    Image logo = new Image(objBundle.closeImageSource());

    HorizontalPanel objHorizontalPanel = new HorizontalPanel();
    objHorizontalPanel.add(logo);

    initWidget(objHorizontalPanel);
}

public interface MyImageBundle extends ClientBundle
{

    @Source("com/example/client/GUI/Images/close.jpg")
    public ImageResource closeImageSource();

    @Source("com/example/client/GUI/Images/closeLessPixels.jpg")
    public ImageResource closeLessPixelsImageSource();
}

你能告诉我它如何优化性能吗? 使用直接Image或ClientBundle与ImageResorce有什么区别。 ?

1 个答案:

答案 0 :(得分:2)

使用ClientBundle GWT将为所有引用的图像创建一个精灵。

,而不是呼叫n次服务器(对于每个图像)

你需要ImageResource才能从精灵中获取正确的图像。