我想了解多少內存分配給Android中的每個進程。據我瞭解,每個應用程序進程都有一個獨立的Zygote進程實例,Zygote將分叉Dalvik VM。由Dalvik虛擬機採取的大小
我寫了一個小樣本的Java應用程序,它只是在一個循環中打印「hello world」。稍後通過ADB shell調用Dalvik VM。現在,Procrank命令顯示,
PID Vss的RSS PSS的USS CMDLINE 9374 7556K 7556K 3600K 3384K dalvikvm
USS其在此處展示爲3384k。
後來,我寫了一個帶有一個activity和TextView的小型android程序。現在procrank顯示
PID Vss的RSS PSS的USS CMDLINE 6540 37256K 35124K 4387K 3392K com.example.helloworld
我的問題是:
- 如果每個應用程序包含Dalvik虛擬機,不會吧需要更多的記憶?
- 我們怎麼知道,VM佔用的內存大小和Java進程佔用的大小?
我的理解可能是Dalvik方面的錯誤,以及它在每個進程中如何被調用以及VM佔用的內存。
任何見解都是值得歡迎的。
謝謝。