Android の各プロセスに割り当てられるメモリの量を理解しようとしています。私が理解しているように、アプリプロセスごとに Zygote プロセスの個別のインスタンスがあり、Zygote は Dalvik VM をフォークします。
ループで「hello world」を出力するだけの小さなサンプル Java アプリケーションを作成しました。その後、ADB シェルを介して Dalvik VM を呼び出しました。さて、Procrank コマンドは、
PID Vss Rss Pss Uss コマンドライン 9374 7556K 7556K 3600K 3384K dalvikvm
ここに表示されている USS は 3384k です。
その後、1 つのアクティビティと TextView を持つ小さな Android プログラムを作成しました。今、ショーを挑発する
PID Vss Rss Pss Uss コマンドライン 6540 37256K 35124K 4387K 3392K com.example.helloworld
私の質問は次のとおりです。
- 各アプリ プロセスに Dalvik VM が含まれている場合、より多くのメモリを使用しませんか?
- VM が占有するメモリのサイズと Java プロセスが占有するサイズは、どうすればわかりますか?
Dalvik とその呼び出し方法、および各プロセスで VM が占有するメモリに関して、私の理解は間違っている可能性があります。
どんな洞察も大歓迎です。
ありがとう。