AndroidX技术栈之系统层性能优化

背景

手机为什么会越用越慢?

安卓手机长时间使用,存在越用越慢的问题。为什么会产生这个问题?就要看看随着手机的使用,手机内发生的那些变化:

  • 安装运行的应用越来越多
  • 拍照的照片存储越来越多
  • 音乐、视频下载越来越多
  • 通讯录越来越长
  • 微信聊天记录、短信越来越多
  • 存储空间日益“支离破碎”
  • 伴随着游戏发展,对图像绘制显示要求越来越高

各种沉淀,随着岁月累积,手机内逐渐不堪重负,导致越来越慢,卡顿增加。这些变化,是用户手机使用时必然产生的,针对这种现象,安卓阵营都在尝试优化解决,但都难以彻底解决。只有通过软硬件结合技术优势:通过智能感知学习系统,结合精细化资源调度;安卓系统组件深入优化;彻底解决Android性能久用卡顿问题。用户长时间使用手机,手机依旧流畅。

Android系统资源调度上的技术挑战

1 Android系统为应用开发者开放了丰富的系统接口和服务,这个开放性一方面带来了丰富多彩的应用,另一方面也被部分应用不合理使用

2 各应用在公平调度下争占CPU、内存、I/O等手机资源,导致用户当前使用的应用不能优先获得资源

3 手机长时间使用后,安装的应用越来越多,很多应用都会增加后台服务,结果同时运行的后台服务也越来越多,导致系统资源供给不足,冲突逐渐加重

4 系统长时间运行后,联系人、图片数据量越来越大,当前数据库查询缓慢的弊端开始呈现,无法满足应用需求的增长。

解决思路方向:

1 应用冷启动减少,热启动增加

2 及时感知应用的资源需求,和麒麟芯片紧密结合按需实时动态调度CPU、GPU、IO等资源,不同应用区分调度。

3 智能化的内存回收/压缩,保证系统始终有内存可用

4 智能清理数据库垃圾内容,结合优化的数据库引擎,数据库查询性能提升,多连接并发能力增强

硬件能力上的技术挑战

1 图形渲染引擎如何充分发挥芯片CPU和GPU的能力

2 性能开销的大幅度增加(AI应用/加解密运算)

解决思路方向:

1 实现精细化调度,发挥CPU多核能力。如在应用启动时,采用及时调整CPU工作频率,及多核同时运行,应用启动速度可提升20%~70%。

2 利用硬件加速完成图片缩放、图形渲染优化,图像资源加载和解码在多个线程中并行执行,实现并行加速收益。使得画面流畅,操作更跟手。比如在图库浏览中极速上下滑动,也不再会像传统安卓手机那样有白块出现。

3 采用硬件芯片加速文件级加密解密,支持文件夹级别文件加密。加密文件读写性能提升12%。

存储碎片化带来的技术挑战

1 手机长时间运行,产生很多缓存小文件,如:聊天的图片、小视频、表情,这些小文件不断被增增删删,导致存储空间出现碎片化,存取文件速度下降。

2 手机使用中,需要经常保存、删除文件,如拍照时挑选照片,也会导致存储空间碎片化。

解决思路方向:

1 手机系统采用增强文件系统,减少文件碎片,使得“岁月无痕”,提升文件访问流畅度。

其他体验优化带来的技术挑战

1 应用启动时的卡顿

2 页面渲染过慢

3 内存优化 垃圾数据的清理

4 应用通信的优化 AIDL

5 CPU/GPU在资源调度上的优化

6 I/O输入输出优化

7 Hybrid应用时Webkit和系统内核的优化(H5页面的渲染优化)

results matching ""

    No results matching ""