1

私は、いくつかの画像を常に1つずつロードすることで構成されるアプリを持っています(一緒ではありません)。新しい画像をロードするたびに、ガベージ コレクターのメッセージが表示されます。これは、デバイスが処理しすぎていることがわかっているためです。この問題を解決するにはどうすればよいですか? この問題が続くと、アプリが最終的にクラッシュすることを理解しています。

次のようなメッセージ: GC_CONCURRENT freed 704K, 15% free 12439K/14471K, paused 13ms+13ms, total 69ms

私が使用する方法は次のとおりです。配列に画像をロードします

public static Integer[] EnunciadoLogico = {
        R.drawable.i1,
        R.drawable.i2,
        R.drawable.i3,
        R.drawable.i4,
        R.drawable.i5,
        R.drawable.i6,
        R.drawable.i7,
        R.drawable.i8,
        R.drawable.i9,
        R.drawable.i10,
        R.drawable.i11,
        R.drawable.i12,
        R.drawable.i13,
        R.drawable.i14,
        R.drawable.i15,
        R.drawable.i16,
        R.drawable.i17,
        R.drawable.i18,
        R.drawable.i19,
        R.drawable.i20,
        R.drawable.i21,
        R.drawable.i22,
        R.drawable.i23,
        R.drawable.i24,
        R.drawable.i25,
        R.drawable.i26,
        R.drawable.i27,
        R.drawable.i28,
        R.drawable.i29,
        R.drawable.i30,};

次に、イメージビューのイメージリソースを設定すると、ユーザーは前後に移動し、1 つまたは別のイメージがイメージビューにロードされます。

        ImagenEnun.setImageResource(EnunciadoLogico[posicion]);

これを行うためのより良い方法はありますか?これが GC_CONCURRENT の理由ですか?

ありがとうございました

4

1 に答える 1

1

皆さん、メモリ管理に関連するこれらのドキュメント/リンクをチェックしてください。

http://static.googleusercontent.com/media/www.google.com/en//events/io/2011/static/presofiles/memory_management_for_android_apps.pdf

http://eclipse.org/mat/

http://therockncoder.blogspot.in/2012/09/fixing-android-memory-leak.html

于 2013-12-20T10:55:41.843 に答える