【摘要】:Android系统主要应用在嵌入式设备当中,而嵌入式设备由于一些条件限制,通常都不会有很高的配置,特别是内存是比较有限的。另一方面Android为不同类型的进程分配了不同的内存使用上限,如果应用进程使用的内存超过了这个上限,则会被系统视为内存泄漏,从而被杀掉。
Android系统主要应用在嵌入式设备当中,而嵌入式设备由于一些条件限制,通常都不会有很高的配置,特别是内存是比较有限的。如果编写的代码当中有太多的对内存使用不当的地方,就会使得设备运行缓慢,甚至是死机。为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Zygote服务进程生成的,也就是说每个应用程序都是在属于自己的Dalvik虚拟机进程中运行的。一方面,如果程序在运行过程中出现了内存泄漏的问题,仅仅会使得自己的进程被杀掉,而不会影响其他进程(如果是system_process等系统进程出问题的话,则会引起系统重启)。另一方面Android为不同类型的进程分配了不同的内存使用上限,如果应用进程使用的内存超过了这个上限,则会被系统视为内存泄漏,从而被杀掉。Android为应用进程分配的内存上限保存在“ANDROID_SOURCE/system/core/rootdir/init.rc”脚本中,例如下面的部分脚本代码:
正因为我们的应用程序能够使用的内存有限,所以在编写代码的时候需要特别注意内存使用问题。如下是一些常见的内存使用不当的情况。(www.daowen.com)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Android系统优化从入门到精通的文章