私はcreateBitmap()
を複数の場所で使用しています。このAPIが例外を投げていることがあります。OutOfMemoryError()
この例外を回避する方法は?androidのcreateBitmap()クラッシュを避ける方法
私は任意の助けをいただければ幸い画面
の
createBitamp(width, height, Config.ARGB_8888);
画面のwidth = width
height = height
、以下のように使用しています。
私はcreateBitmap()
を複数の場所で使用しています。このAPIが例外を投げていることがあります。OutOfMemoryError()
この例外を回避する方法は?androidのcreateBitmap()クラッシュを避ける方法
私は任意の助けをいただければ幸い画面
の
createBitamp(width, height, Config.ARGB_8888);
画面のwidth = width
height = height
、以下のように使用しています。
多くの人がこの問題に直面しています。
通常のビットマップの問題で、ガベージコレクタが役立ちます。
ジャスティンBreitfellerの応答linksビットマップの内部の動作の詳細な説明に。取り除くメッセージは、(ネイティブのcreateBitmapメソッドで)ビットマップのデータに割り当てられたメモリが多少離れて扱われ、BitmapがガベージコレクタブルになったときにGarbageCollectorによって直接解放されないということです。本当の解決策は、ビットマップを使用しないときにリサイクル()することです。これにより、ビットマップオブジェクトに割り当てられた(小さな)メモリは引き続き保持されますが、ビットマップデータガベージに割り当てられた(大)メモリは収集可能に設定されます。したがってGarbageCollectorは両方を解放しますが、手動で呼び出す必要はありません.OutOfMemoryが発生する前に、JVMはGarbageCollectを試みます。
System.gc()は動作しているようです私にとって最高!ありがとう!! –
ビットマップが次のAndroid問題チケットでどのように処理されるかに関する情報を掲載しました。あなたに役立つかもしれません:http://code.google.com/p/android/issues/detail?id=8488#c80
このブログの記事を読むhttp://codingaffairs.blogspot.com/2016/07/processing-bitmap-and-memory-management.html –