空进程(empty): 没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。这部分进程无疑是应该最先终止的。
程序关闭后确实也会有数据就在内存里,如果不使用强行停止就不会清理,你不信可以打开浏览器然后打开一个网站,然后使用任务管理器关掉(不要用设置里的强行停止,会清空数据的),再打开浏览器,会发现你打开的网页还在。
安卓启动进程时需要先优化和解释应用程序的源码,然后复制一个虚拟机,将虚拟机内容换成应用程序的 最开始的虚拟机是安卓开机时创建的,所有的进程都由这个母进程复制过来的。所以你知道为什么应用程序开机启动可以加速了,开机时就把这个进程的虚拟机准备好 并且解释程序代码的过程实际上把程序缓存了一下 内存比存储快,启动就快。可以理解为类似于windows7上的superfetch当然原理完全不同。也可以给应用程序做odex,就是一个事先优化和解释好的文件 你看你手机自带程序都有odex,就是为了起到加速作用。
安卓的apk与windows完全不同,它实际上是个zip,而且所有的资源都在这个包里面,不像windows还会有什么dll在外面。所谓应用程序安装,实际上是把apk复制到了手机内存里(路径 /data/app),然后在data/data里为应用程序创建独立的存储空间(实际上是个ext文件系统的文件夹),然而运行的过程就像java一样,还要打开压缩包什么的。