在我的 GWT 大型项目中,我有一个用于图像资源的 ClientBundle。我在其中定义了大约 40 个 GIF 文件。(每个文件大小约为 5KB)
然后我使用静态方法创建一个类,以将正确的图像设置为作为参数获取的 obj:
public static void setImageFromId (String id,final Image img) {
//for 1.gif
if (id.equals("1")) {
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onFailure(Throwable reason) {}
@Override
public void onSuccess() {
img.setResource(MyImages.INSTANCE.img1()); //MyImages is the ClientBundle
}
});
}
}
//for 2.gif
if (id.equals("2")) {
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onFailure(Throwable reason) {}
@Override
public void onSuccess() {
img.setResource(MyImages.INSTANCE.img2()); //MyImages is the ClientBundle
}
});
}
//etc. for other images 3, 4, 5, ...
//...
}
我想知道代码拆分的好模式吗?因为如果我不这样做,所有 40 个文件将在第一次调用时缓存到客户端浏览器,但这不是必需的。
RGDS