私の 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