描画可能なイメージリソースを960x926px jpgでデコードし、3555856バイトを割り当てて、奇妙なOut of Memoryエラーが発生します。 イメージはdrawable-xxhdpi(3x)にのみ配置され、hdpi(1.5x)デバイスを使用しています。 つの質問:BitmapFactory.decodeResourceと不可解なメモリ不足
私は、ヒープに十分な空きメモリを有するもののエラーが出るのはなぜ?
hdpiデバイスの割り当ては、((960/2)x(926/2))x 4 = 888960バイト(3555856ではなく)にする必要がありますか?
誰かが私を説明できますか?
注:30:質問は22.5メガバイトの空きメモリ(ログを参照してください)
3月18日17を持ちながら、なぜ3.5メガバイト割当のためのOOMを得ることについてである15.050 32750から32750 /? D/dalvikvm:GC_FOR_ALLOCを解放 10809K、フリー23735K/46087K、一時停止89ms、合計89ms
03-18 17:30:15.050 32750-32750 /? I/dalvikvm-heap:3555856バイト割り当てのためのSoftReferencesの を強制する。03-18 17:30:15.160 32750-32750 /? D/dalvikvm:GC_BEFORE_OOMは、29K、23705K/46087Kフリー 49%解放合計103ms一時停止103ms
3月18日17:30:15.160 32750から32750 /? E/dalvikvm-heap:メモリ不足 3555856バイト割り当て。
03-18 17:30:15.160 32750-32750 /?実行可能
03-18 17:30:15.160 32750-32750 /?私/ dalvikvm:|グループ= "main" sCount = 0 dsCount = 0 obj = 0x418fc6a0自己= 0x4010c008
03-18 17:30:15.160 32750-32750 /?私/ dalvikvm:| sysTid = 32750 nice = 1 sched = 0/0 cgrp =アプリケーションハンドル= 1075251280
03-18 17:30:15.160 32750-32750 /?私/ dalvikvm:| schedstat =(0 0 0) utm = 3807 stm = 859コア= 0
03-18 17:30:15.160 32750-32750 /? I/dalvikvm: android.graphics.BitmapFactory.nativeDecodeAsset(ネイティブメソッド)
03-18 17:30:15.160 32750-32750 /? I/dalvikvm: android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:636)で
3月18日17:30:15.160 32750から32750 /? I/dalvikvm: android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:484) 03-18 17:30:15.160 32750-32750 /? I/dalvikvm: android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:512)で
3月18日17:30:15.160 32750から32750 /? I/dalvikvm: android.graphics.BitmapFactory。decodeResource(BitmapFactory.java:542)
アンドロイドエミュレータを使用している場合、ヒープにどれくらいのメモリを設定していますか? –
@ Khang.NT 4実際のデバイスの48Mヒープサイズ – GPack
を使用しています。なぜ、ヒープに十分な空きメモリがあるのにエラーが表示されるのですか?あなたの要求のためにヒープに十分な大きさの単一のブロックはありません。 Dalvikのガベージコレクタは圧縮ガベージコレクタではなく、ヒープが断片化することを意味します。 ARTのガベージコレクタはヒープを圧縮して、大きなブロックを割り当てることができるようにします。ただし、アプリがバックグラウンドにあるときに限ります。 – CommonsWare