0

Android アプリのメモリ使用量に問題があり、メモリ使用量が多い原因がわかりません。アプリを起動すると、最大 40 MB の RAM (DDMS と言う) が使用され、別のアプリを開くと、アプリがすぐに強制終了されます。

メモリ リークについてよく読んで、ドローアブルのバインドを解除したり、GC を実行したりしていますが、アプリにはまだ多くのメモリが必要です。

アプリには約 3 MB のリソースがありますが、それらはオンデマンドで RAM に読み込まれます。私が間違っている?これにより、40MB の RAM が使用される可能性がありますか?

編集:各アクティビティの向きを何度でも切り替えることができ、メモリ不足のためにアプリがクラッシュしないため、メモリリークは発生していないと思います。だから、それはメモリリークではありませんよね?

4

2 に答える 2

0

Android アプリケーションでメモリ管理を行う必要があります。使用されなくなったリソースを解放してください。アクティビティ スタックを追跡するアクティビティの onStop()、onDestroy()、onPause() メソッドをオーバーライドしてみてください。

OnDestroy() メソッドで、利用可能なリソース全体を解放して、別のアプリが同じリソースを再び使用できるようにします。

于 2012-08-08T10:38:45.353 に答える
0

どのデータ構造を使用していますか? 非常に大きなデータ構造 (長いリスト、大きなグラフ、大きなマップなど) は、すぐに RAM を使い果たします。

アプリでの向きの変更でコンテキストをリークしている可能性もあります。

また、レイアウトの設計が非常に悪く、重いデータ構造がいくつかある可能性もあります。

アプリが何をしようとしているのかについてもう少し説明しない限り、それを伝えるのは困難です。

于 2012-08-08T10:41:43.560 に答える