23

インターネット\goolge\stackoverflow全体を見渡しましたが、Androidアプリにメモリリークがあるかどうかを確認する方法を説明できる完全で簡単なガイドが見つかりませんでした. 誰かがそれを行う方法を説明してくれますか、それとも良いガイドを教えてくれますか?

私のアプリはバッテリーに関するデータを収集し、電話のDBに保存します。バッテリーの変化 (ACTION_BATTERY_CHANGED) が発生するたびに、バッテリーの割合が変化したかどうかを確認し、この場合はいくつかのデータを保存します。

このアプリは (25-30)MB の RAM を必要とします。これは単純なアプリには多すぎると思います。メモリ リークが疑われます。

4

3 に答える 3

23

マットが使える

これは非常に優れたツールであり、メモリリークに関連する基本情報を含むプロジェクトの非常に詳細なレポートを提供します

Android のマット

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

マットの使い方

http://kohlerm.blogspot.in/2009/07/eclipse-memory-analyzer-10-useful.html

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

http://ttlnews.blogspot.in/2010/01/attacking-memory-problems-on-android.html

MAT の Eclipse 統合

http://www.eclipse.org/mat/downloads.php

http://www.eclipse.org/forums/index.php/m/878338/

更新サイト: http://download.eclipse.org/mat/1.1/update-site/

BERT の Eclipse 統合 (これに依存)

http://wiki.eclipse.org/BIRT_Update_Site_URL

http://download.eclipse.org/birt/update-site/3.7-interim

Androidのメモリアナライザーツール?

于 2012-06-16T16:12:22.940 に答える
2

あなたと同じ問題に直面したとき、LeakCanaryを見つけました。デバッグ ビルドで実行時にメモリ リークを検出するのに役立ち、スタック トレース履歴の快適な UI を提供します。ここでは、メモリリークを検出するためのこのツールの詳細と、Android 開発に関するその他の役立つヒントを読むことができます: http://cases.azoft.com/4-must-know-tools-for-effective-android-development/ . あなたや他のモバイル開発者に役立つことを願っています!

于 2016-04-25T11:59:25.290 に答える
1

通常、アプリケーションを使用していて、メモリを蓄積している場合

12MB ... 13.5MB ... 15MB ... 湿気がたまる雲を考えてみて ... etc

このパターンが表示される場合は、アプリでメモリ リークが発生しています。

別の可能性としては、リークはなく、使用するオブジェクトが多すぎるか大きすぎるか、またはオブジェクトを十分に節約していない可能性があります。ビットマップは非常に高価であるため、ビットマップの処理は、メモリとリソースが制限された環境である Android ではそれほど簡単ではない可能性があることを考慮してください。

于 2014-03-04T19:53:21.857 に答える