swap 压缩原理及其配置

 当前手机中使用的swap 与 传统Linux中将磁盘的部分区域划分swap 有着很大的区别。当前swap分区方法是从内存中划分一块区域,首先将数据进行压缩,再放置到里面。这样可以让更多的数据放入到内存,又能避免从外存调整数据的延迟。
这种方式的原理是认为CPU 压缩,解压数据的性能成本要小于直接从磁盘中获得。
下面详细介绍其中原理,及其配置参数说明

继续阅读“swap 压缩原理及其配置”

开关机、重启时间优化

开机性能优化:是用功能和其它因素多方面平衡的结果,片面追求单方面的性能没有太大意义;
有些产品设计开机动画非常酷炫,动画图片过多、高帧率会影响开机速度,这时就需要看是开机速度优先还是体验优先;

1.zygote,预加载class、resources;加载的多了,会影响开机时间;
/sdcard/mtklog/bootprof
12450.516490 : 860-system_server : Android:PMS_READY
13136.536031 : 506-main : Zygote:Preload 4715 classes in 495ms
13263.841416 : 506-main : Zygote:Preload 64 obtain resources in 42ms
13271.525031 : 506-main : Zygote:Preload 41 resources in 6ms
13639.574263 : 860-system_server : AMS:systemReady
13645.305493 : 860-system_server : AMS:AMS_READY

/frameworks/base/config/preloaded-classes,因为少加载类会影响APP启动速度,开机过程会涉及到APP启动,此地没有优化空间;
继续阅读“开关机、重启时间优化”