Android进程与内存及内存泄露
16lz
2022-07-19
第一部分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中如何查找内存泄露 》
更多相关文章
- 浅析android通过jni控制service服务程序的简易流程
- 2011年Android(安卓)Camera学习笔记之一
- [置顶] Android(安卓)跨进程通信Aidl的使用及注意事项
- Android执行shell命令
- 【android测试】值得学习的android测试知识连接
- android获取正在运行的进程
- Android例子—直接通过Binder的onTransact完成跨进程通信
- Android(安卓)获取内存信息
- 理解Android中垃圾回收日志信息