2016-04-21 8 views
1

以下の画像と、オブジェクトの数が時間とともに絶えず増加するという事実に基づいています。私のコードにメモリリークがあると言ってもいいですか?Android - メモリリーク?

また、どうすればデバッグすることができますか?

enter image description here

+0

はあなたのコードに従うと、あなたの質問 – Proxytype

+1

@Proxytypeはありがとう、それが解放したときに、そこに欠けているの詳細を消費メモリを参照してください!私はこれであまり経験がありません。自分のコードに従ってメモリが解放されたときはどうすればわかりますか? –

+0

あなたはアンドロイドスタジオでプロファイリングを使用して、アプリケーションのデバッグを開始し、メモリをフォローして、どこでそれを消費しているかを見つけようとします。 – Proxytype

答えて

0

まず、thisに応じて、メモリの変更を監視するメモリーモニターを使用することができます。
アプリケーションを実行して、GCに「原因GC」ボタンをクリックすると、割り当てられたヒープサイズがますます大きくなり、hereのようなMATを試すことができます。

0

StrictModeを使用すると、アクティビティまたはフラグメントのメモリリークをチェックすることができます。このコードをアプリケーションで作成します。

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() 
    .detectAll() 
    .penaltyLog() 
    .penaltyDialog() 
    .build()); 
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll() 
    .penaltyLog() 
    .build());