これは潜在的な重複する可能性がある場合は申し訳ありませんが、私の問題のための任意の答えを見つけることができませんでした。ですから、あなたが良い情報源を参照できるなら、私は見て喜んでいるでしょう。Androidの微妙なメモリリーク解析MAT
ここで問題は、私は私のアプリを実行している間に微妙なメモリリークを観察してきました。したがって、16時間実行した後、ヒープ・ダンプはEclipse Memory Analyzerを介して実行され、メモリー・リークの疑いがあるスレッドはガベージ・コレクションでないスレッドが多いことを示唆しています。ヒープは、約16時間実行した後に3MB増加します。だからここ
private WorkerThread mWorkerThread;
private static Runnable mUploadTask = new Runnable() {
@Override
public void run() {
Object[] data = dataQueue.poll();
if(data != null) {
uploadPacketviaAMQP((String)data[0], (String)data[1]);
}
};
private static class WorkerThread extends HandlerThread{
private Handler mWorkerHandler;
public WorkerThread(String name) {
super(name);
}
public void postTask(Runnable task){
mWorkerHandler.post(task);
}
public void prepareHandler(){
mWorkerHandler = new Handler(getLooper());
}
}
MAT画面グラブである - LEFTパネルは5分間のアプリを実行した後で、右パネルは16の後である:ここでは
は、私は戻ってグラウンドタスクを実行するために使用されるコードがあります時間。参照は再帰的で、前後にジャンプして、どんな具体的なオブジェクトにもつながっていないので、私には意味をなさない。
どのように私はこの問題のデバッグについては行くべき?
ありがとうございました。