2

私のプロジェクトは完全に画像に基づいています。プロジェクトでギャラリーとカバーフローを使用していますが、ヒープ サイズが小さいため、アプリが強制的に閉じられます。

そのため、アプリをロードするたびにヒープ サイズをクリアして、再利用できるようにします。
ギャラリーとカバーフローでメソッドを使用System.gc() & recycle ()しましたが、ギャラリーとカバーフローは相互に関連しているため、オブジェクトは常に参照されるためSystem.gc()recycle()効果がなく、ギャラリーとカバーフローは使用中にランダムな時点でクラッシュします。

なんらかの理由で、ここにコードを表示できません。たとえコードが非常に大きいため、ここに表示できません。

この質問を読んでくれてありがとう。

4

3 に答える 3

0

まあ、GC を強制的に実行することを実際に制御することはできません。時が来ればいつでも、それはそれ自体で実行されます。

System.gc() はいつ何かをしますか

したがって、イメージとビットマップを慎重に使用する以外に選択肢はありません。

ヒント => ソフト参照を使用してください。 http://developer.android.com/reference/java/lang/ref/SoftReference.html

于 2012-04-17T06:02:08.460 に答える
0

このメモリの問題によるクラッシュを制御するには、次のようにする必要があります。

BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap preview_bitmap=BitmapFactory.decodeStream(is,null,options);

inSampleSize 値により、メモリ消費量が削減されます。

詳細については、次のスレッドから入手できます。

画像を Bitmap オブジェクトにロードする際の奇妙なメモリ不足の問題

これがあなたを助けることを願っています。

于 2012-04-17T06:20:30.307 に答える
0

ヒープスペースを増やします..設定に移動してヒープスペースを管理する場合は、Eclipseのように自動削除をオンにします。そこのゴミ箱ボタンをクリックできます

于 2014-01-03T12:36:01.583 に答える