アクティビティ間を移動中に30MBのメモリ割り当てから500MB以上にジャンプするアプリがあります。その間に割り当てを追跡し、何がメモリに保持されているのか見ることができますが、ヒープのHPROFファイルを作成したいので、MATにロードして、そのメモリを何が使用しているのかを知ることができます。Androidスタジオでのメモリ割り当ての高いヒープダンプは終了しません
しかし、ダンプを作成しようとすると、メモリグラフ上に点線とスピナーが表示され、終わりのないように見えます。割り当てを減らしても問題なくダンプを作成できますが、割り当てられた500 MB以上の容量では、私はそれを行うことができません。
私はそのシナリオで既知の問題を探しましたが、何も見つかりませんでした。問題を解決するために何かできることがありますか?ヒープの優れた分析がなければ、私は思い出に何が起こっているのか目が見えません。
注:私は、メモリ問題そのものの助けを求めていません.ATM、私は主にヒープダンプをどのようにして動作させることができるかに興味があります。
500MBはあなたのプロセスのヒープ限界をはるかに超えなければならないので、MATの有用性は分かりません。しかし、もしあなたが問題のある状態になることができる信頼できる方法があれば、そのテストケースを書いて、HPROFファイルを取得するのが良いかどうかを確認してください( 'Debug.dumpHprofData()')(https:// developer.android.com/reference/android/os/Debug.html#dumpHprofData(java.lang.String))。 – CommonsWare
私はターミナルメソッドを試してみましょう、ありがとう!残念ながら問題を再現するための信頼できる方法はありません。何日も問題なくアプリを使用して突然スパイクを見ることができます。アンインストールと再インストールだけで正常に動作します状態。それはまれです。 – jkane001
@commonsware端末のコマンドは、トリックをした、ありがとう!それを回答として提出すれば、私はそれを受け入れることができます。 – jkane001