私は、「ビットマップサイズがVM予算を超えています」エラーをトレースするのに大きな問題があります。私は他の質問を見て、アクティビティが破壊されたりビューがウィンドウhttps://stackoverflow.com/a/6779448/571143から切り離されたときにbitmap.recycle()を使用して変数、ビットマップ、キャンバスをヌルに設定すると、コンテキストを使用し、this.getAplicationContext()を使用します)。割り振りトラッカーまたはヒープ・アナライザーは、「ビットマップ・サイズがVM予算を超えています」というエラーをトレースするのに役立ちますか?
私が経験している問題は、読み込みには大きすぎるビットマップではありません。最初はすべてが正常にロードされますが、現在のアクティビティを何度も繰り返して変更した後は、このエラーが発生します(デバイス上ではエミュレータよりもはるかに多くのアクティビティが変更されます)。
私の質問に戻って、割当トラッカーまたはヒープアナライザーを使用して正しい方向に私を導く方法はありますか?これらのツールには「ビットマップ割り当て」の痕跡はなく、小規模(主に1kb未満)の割り当てしかありません。私はすでにこれを読んでいます:http://android-developers.blogspot.com/2009/02/track-memory-allocations.html
私はビットマップが割り当てを解除しないので、私は間違ったことをしていることを知っていますが、私が取り組んでいるプロジェクトはかなり大きいです。手ですべてを分析することは最後の手段となり、非常に時間がかかります。
このようなシナリオでは、これらのツールに関するヒントをお待ちしております。
歓声、あなたはメモリリークのそのいくつかの並べ替えを考え出してきたように
私はHPROFダンプをanalizeしようとしたとき、私はアナライザで、次の例外が発生しました(私は最新のをダウンロードしましたバージョン): "ヒープ・ダンプ 'dump.hprof'のオープンエラー。詳細はエラー・ログをチェックしてください。 ヒープ・ダンプ 'dump.hprof'のオープン時にエラーが発生しました。 3)(java.io.IOException) 不明なHPROFバージョン(JAVA PROFILE 1.0.3) " – kajman
これを見つけました:http://stackoverflow.com/questions/6219049/error-openning-hprof-file solution – kajman
yeah its h prof-conv filename.hprof targetname.hprofここで、hprof-convはsdkのツールです。 –