Android进程与内存及内存泄露

本文详细介绍了Android进程的特点及内存管理机制,包括进程间的内存隔离、内存占用限制、多进程技术实现、内存查看方法、内存泄漏检测等内容。
第一部分 Android进程
1.1、Android进程简介
     每一个 Android应用 在底层都会对应一个独立的Dalvik虚拟机实例,而每一个虚拟机实例都是一个独立的进程空间,不同的应用在不同的进程空间里运行,当一个虚拟机关闭或意外中止时不会对其它虚拟机造成影响,可以最大程度的保护应用的安全和独立运行.
    关于此的更多内容可参考《 Android Dalvik虚拟机简介
1.2、Android进程间内存的不可见性
Android 进程 之间的内存并不是直接可见。
关于此内容参考阅读《 Android中单APK应用多进程
1.3、Android进程内存占用的最大值
Android进程 内存占用的默认最大值为16M或32M ,该值只是指dalvik上分配的内存,它不包括在native上分配的内存值.
更多内容请参考《 Android应用程序的默认最大内存值
1.4、单APK多进程技术
    默认一个APK包就对应一个进程,其进程名就为AndroidManifest.xml文件中 指定的package名。我们可以通过Activity, Service, BroadCastReceiver, ContentProvider的android:process属性来实现单APK多进程
关于此的更多内容请阅读《 Android中单APK应用多进程 》和如何在Android中取得当前进程名
第二部分 Android内存
2.1、Android中如何查看内存
像Linux这种现代操作系统的内存使用是很复杂的,因此很难准确的知道你的应用程序使用了好多内存。查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同。
关于此的详细内容请阅读《 Android中如何查看内存(上) 》和《 Android中如何查看内存(下)
2.2、对象的强引用,软应用,弱应用
关于此的详细内容请阅读《 对象的强、软、弱和虚引用
2.3、Android中图片占用内存的计算
详细内容请阅读《 Android中图片占用内存的计算
2.4、使用LinkedHashMap来实现高效的内存缓冲
详细内容请阅读《 LinkedHashMap简介
第三部分 Android内存泄漏
3.1、Android内存泄漏简介
在java程序中,如果已经不再使用某个对象,但是因为仍然有 引用指向它 ,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。
更多内容请阅读《 Android内存泄漏简介
3.2、Android中如何查找内存泄露
我们可以在MAT中,对进程的hprof文件进行分析,以便找到内存泄露。
更多内容请参考《 Android中如何查找内存泄露
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值