我正在尝试理解Android中每个进程分配了多少内存。据我所知,对于每个应用程序进程,都有一个单独的Zygote进程实例,并且Zygote将fork Dalvik VM。
我编写了一个简单的Java应用程序示例,它只是在循环中打印“hello world”。稍后通过ADB shell调用了Dalvik VM。现在,Procrank命令显示:
PID Vss Rss Pss Uss cmdline 9374 7556K 7556K 3600K 3384K dalvikvm
这里显示的USS为3384k。
后来,我编写了一个带有一个活动和TextView的小型Android程序。现在procrank显示:
PID Vss Rss Pss Uss cmdline 6540 37256K 35124K 4387K 3392K com.example.helloworld
我的问题是:
1.如果每个应用程序进程都包含Dalvik VM,那么它不会占用更多的内存吗? 2.我们如何知道VM占用的内存大小和Java进程占用的内存大小?
关于Dalvik以及如何调用它以及每个进程中VM占用的内存大小,我的理解可能是错误的。
欢迎任何见解。
谢谢。
我编写了一个简单的Java应用程序示例,它只是在循环中打印“hello world”。稍后通过ADB shell调用了Dalvik VM。现在,Procrank命令显示:
PID Vss Rss Pss Uss cmdline 9374 7556K 7556K 3600K 3384K dalvikvm
这里显示的USS为3384k。
后来,我编写了一个带有一个活动和TextView的小型Android程序。现在procrank显示:
PID Vss Rss Pss Uss cmdline 6540 37256K 35124K 4387K 3392K com.example.helloworld
我的问题是:
1.如果每个应用程序进程都包含Dalvik VM,那么它不会占用更多的内存吗? 2.我们如何知道VM占用的内存大小和Java进程占用的内存大小?
关于Dalvik以及如何调用它以及每个进程中VM占用的内存大小,我的理解可能是错误的。
欢迎任何见解。
谢谢。