1

メモリ使用量を制御できない時点でアプリがメモリをリークしているように見えるため、Android アプリケーションで使用されるメモリを理解しようとしています。

  • 設定アプリケーションには、アプリケーションのメモリ使用量が一覧表示されます (例: 私のアプリでは 90 MB)。この数はどのように計算されますか?

  • adb shell ps | grep 'myapp'私のアプリでは、設定アプリの下に表示されているものよりも約20MB大きい常駐セットサイズを示しています

私の推測では、最初のものは Android の PSS で、2 つ目は通常の Linux RSS ですが、確かではありません...

私のアプリは phonegap アプリ、つまり大きな webview であり、ネイティブの Android 側 (UDP パケットの送受信) でいくつかのネットワーク関連のものを実行します。デバイスに触れていない間、Eclipse DDMS で報告されるヒープは変化しませんが (私の SGS3 では 15MB のうち 12MB が使用されています)、settingsアプリのメモリと出力で報告されるメモリはps時間の経過とともにわずかに増加します。約 30 分間で 1MB ですが、10MB 以上跳ね上がることもあり、二度と下がらないこともあります。したがって、これは本当にメモリ リークのように見えます。私は JNI のコードを書いていません。つまり、ネットワーキング部分全体で Android SDK を使用しています。

  • この経験豊富なメモリの増加の考えられる原因は何ですか?

  • Android で Java ヒープ以外のメモリの問題をデバッグするにはどうすればよいですか?

4

0 に答える 0