本人博客原文
第一部分 Android进程
1.1、Android进程简介
每一个
Android应用
在底层都会对应一个独立的Dalvik虚拟机实例,而每一个虚拟机实例都是一个独立的进程空间,不同的应用在不同的进程空间里运行,当一个虚拟机关闭或意外中止时不会对其它虚拟机造成影响,可以最大程度的保护应用的安全和独立运行.
1.2、Android进程间内存的不可见性
Android
中
进程
之间的内存并不是直接可见。
1.3、Android进程内存占用的最大值
Android进程
内存占用的默认最大值为16M或32M ,该值只是指dalvik上分配的内存,它不包括在native上分配的内存值.
1.4、单APK多进程技术
默认一个APK包就对应一个进程,其进程名就为AndroidManifest.xml文件中 指定的package名。我们可以通过Activity, Service, BroadCastReceiver, ContentProvider的android:process属性来实现单APK多进程
第二部分 Android内存
2.1、Android中如何查看内存
像Linux这种现代操作系统的内存使用是很复杂的,因此很难准确的知道你的应用程序使用了好多内存。查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同。
2.2、对象的强引用,软应用,弱应用
2.3、Android中图片占用内存的计算
2.4、使用LinkedHashMap来实现高效的内存缓冲
第三部分 Android内存泄漏
3.1、Android内存泄漏简介
在java程序中,如果已经不再使用某个对象,但是因为仍然有
引用指向它
,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。
3.2、Android中如何查找内存泄露
我们可以在MAT中,对进程的hprof文件进行分析,以便找到内存泄露。