1

たまに「ビットマップサイズがVMバジェットを超えています」というエラーメッセージが表示されます。これは、20のアクティビティを次々に開いたときに発生します。各アクティビティには500x300のPNG画像が含まれています。android:background = "@ drawable / xxxxxxxx"を使用してXMLレイアウトに画像を実装した場合、問題は発生しませんでした。

このエラーは、Javaコードに画像を実装したときに最初に発生しました。

<ImageView
android:id="@+id/ImVpic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

ImageView pic;
pic = (ImageView)findViewById(R.id.ImVpic);
pic.setImageResource(R.drawable.picture);

どうすればそのエラーを取り除くことができますか?私のコードには何が欠けていますか?私はそれが実際に機能することを意味します、しかし時々それは本当に迷惑なそのエラーを投げます。

4

1 に答える 1

0

これは、SOでよく見られる質問です。画像の読み込み中に、使用可能なメモリが不足しているようです。画像の長い参照を保持していないことを確認してください。これにより、dalvikは未使用の画像(または)オブジェクトからメモリを再利用できます。

于 2012-06-23T17:15:40.920 に答える