6 ページの ViewPager を持つ Android アプリケーションを作成しました。すべてのページには、私が使用する小さな画像があります(背景ではなく、ImageView専用です)。
これらの画像はそれぞれ約 130 KB です。このアクティビティが開始されると、次のようなメッセージが表示されることに気付きました。
02-09 21:23:58.755: I/dalvikvm-heap(6478): Grow heap (frag case) to 49.015MB for 2457616-byte allocation
しばらくプレイした後、OOM 例外も発生します。
このようなサイズの画像をロードすると、なぜ多くのスペースが必要になるのかわかりません。
誰もそのような問題に直面しましたか?解決策はありますか?
前もって感謝します!
[アップデート]
コードを追加していないことをお詫びします:)
以下は、ViewPager で使用する Fragment の onCreateView です。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.fragment_selection, container, false);
mSelectionImage = (ImageView) rootView
.findViewById(R.id.selection_image);
switch (mPageNumber) {
case 0:
mSelectionImage.setImageResource(R.drawable.img_sel_0);
break;
case 1:
mSelectionImage
.setImageResource(R.drawable.img_sel_1);
break;
case 2:
mSelectionImage.setImageResource(R.drawable.img_sel_2);
break;
case 3:
mSelectionImage
.setImageResource(R.drawable.img_sel_3);
break;
case 4:
mSelectionImage.setImageResource(R.drawable.img_sel_4);
break;
case 5:
mSelectionImage
.setImageResource(R.drawable.img_sel_5);
break;
default:
break;
}
return rootView;
}