私の質問は素朴に見えるかもしれませんが、私はそれをより正しく定式化する方法を知らないのです。問題は、アプリケーションで大きなシンプルな型の配列を作成して使用することです。そして、私のようなエラーが出:私のアプリケーションのヒープメモリが他のアプリケーションより少ないのはなぜですか?
ERROR/dalvikvm-heap(1763): Out of memory on a 7907344-byte allocation.
はい、それは十分な大きさだが、同じ時間の使用の50メガバイトの他、さらには110メガバイトは(かつて見たことがある)しながら、タスク管理ツールは、私のアプリケーションはメモリののみ30メガバイトを使用していると主張し、システムに190MBの空きメモリがあります(システムアプリケーションではなく、私がインストールした他の通常のアプリケーションだけです)。起動時にすべてのアプリケーションが同じヒープサイズで提供されている場合、どのように大きく成長できますか?
おそらく、十分に大きな連続したメモリを見つけることに問題があります。 – Anthony
なぜ最初からあまりにも多くを割り当てたいのですか?私に推測させてください:バッファリングされていないストリーム – apps
私はそれをキャンバスにdrawBitmapに使用します。その理由は、JNIがアクセスするネイティブコードでビットマップが生成され、常に変更されるためです。 –