深入了解安卓系统:垃圾回收、测试套件与开发哲学
1. 安卓垃圾回收机制的演进
垃圾回收器(Garbage Collector)旨在回收程序中不再使用的对象所占用的内存。在 Java 领域,它是广为人知的工具,但在安卓系统中,传统的垃圾回收器存在速度慢且阻塞的问题。
1.1 安卓不同版本的改进
- Android 2.3 :引入了并发垃圾回收器,垃圾回收时不再阻塞应用,但仍会导致整体性能略有下降。
- ART :带来了更多性能改进,具体如下:
- 垃圾回收仅需一次暂停,而 Dalvik 需要两次。
- 垃圾回收处理并行化,减少了暂停时间。
- 采用新的 Rosalloc 内存分配器,对小对象使用线程局部区域分配,对大对象使用单独的锁,而非单一的全局锁。
- 仅在手机锁定时进行全量垃圾回收,避免用户感知。
- 引入压缩垃圾回收,减少内存碎片,降低因需要更大连续内存块而杀死其他应用的需求。
从开发和调试的角度来看,ART 支持采样分析器,提供更多调试功能,并改进了异常和崩溃报告中的诊断细节。
1.2 未来安卓版本的优化
即将推出的安卓版本将对当前的 ART 运行时进行增强。谷歌将引入基于配置文件引导的 JIT/AOT 编译。JIT(Just In Time)与旧的 Dalvik 方法类似,是一种具有代码分析功能的编译器。该 JIT 编译器将与 ART
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



