10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

ART 云配置文件,提高安卓应用的性能

  • 2019-04-12
  • 本文字数:929 字

    阅读完需:约 3 分钟

ART云配置文件,提高安卓应用的性能

安卓在版本 Pie 中第一次引入了ART优化配置文件,这个新特性利用发送到 Play Cloud 的数据大大缩短了应用在安装或更新后的启动时间。根据谷歌公布的数据显示,应用的启动速度平均提高了 15%,最优情况下可达到 30%。


从版本 Nougat 开始安卓就已经使用 PGO(Profile guideed Optimization-性能分析引导优化)来优化其运行时。这项技术能够动态剖析应用的内存和存储使用情况,并识别出热区代码。PGO 的缺点是它只能依赖单个设备或用户的数据,这使得优化过程非常缓慢。通过 Play Cloud 来整合更多用户和设备的数据,ART 性能分析明显加快了这个优化过程,而且还可以反过来把优化结果应用到所有用户。


很多情况下,开发者会逐步推出他们的应用,比如在正式版之前会发布不同的测试版本,而这时候上述优化就变得更加有用。它使我们在初始测试阶段就可以对应用进行剖析,确定热点代码和优化选项,从而让以后的用户可以直接获益。


为实现这种机制,ART 在 Play Cloud 中的剖析阶段产生了一个核心代码配置文件,这个文件包含了很多匿名的聚合数据,例如,最常用代码的路径、启动时加载的类以及启动时和启动后要执行的代码等相关信息。代码配置文件在 Play Cloud 中以“.deb”格式的元文件存在,元文件可以直接安装到设备,并且对开发人员完全透明。


利用代码配置文件中的信息,谷歌采取了一系列技术来提高应用的性能,包括应用镜像、代码预编译以及字节码重新布局等。


应用镜像是应用启动时所使用的预初始化类的内存映射。在应用启动时,镜像将会直接映射到堆内存。类似地,应用启动时也开始执行代码预编译的目标字节码。字节码是经过预编译和优化的,因此大大节省了 JIT 编译器的工作时间。最后,字节码重新布局是为了保持应用启动时使用的代码能够尽可能紧凑,这样应用启动后代码可以立即执行,从而节省了加载时间。


正如前面所提到的,根据谷歌的统计数据,在经过 ART 性能分析优化之后,应用的平均启动时间提高了 15%,很多应用甚至提高了 20%。该数据显示,除了谷歌自己的应用,还有超过 30000 个外部应用也有所改进。


未来,谷歌将向所有开发者开放 ART 性能优化信息,这样开发者就能够基于用户的真实性能数据来改进他们的应用了。


查看英文原文ART Cloud Profiling to Improve Android App Performance


2019-04-12 08:004272

评论

发布
暂无评论
发现更多内容

探秘 Parallels Desktop 18虚拟机:为何它是 Mac 用户的福音?

Rose

唯品会商品详情API接口的深度探索与应用实例

代码忍者

API 接口 pinduoduo API

一文介绍MySQL架构

伤感汤姆布利柏

小红书笔记详情探索、用户分析及API接口技术交流

代码忍者

API 接口 pinduoduo API

上了ERP,还要上MES?这其中有什么门道?

积木链小链

ERP mes

超越用户手册: 零文档策略

俞凡

架构 最佳实践

js 数字计算的精度问题

不在线第一只蜗牛

JavaScript 前端

Mac蓝光高清播放工具 Blu-ray Player Pro v3.3.22中文版

Rose

SoundSource 5:Mac 音频控制器,重塑你的听觉世界!

Rose

mac电脑哪款PDF编辑软件好用?推荐Adobe Acrobat Pro DC Mac 版

Rose

HTTP和HTTPS的区别

秃头小帅oi

做ppt去哪找模板?这5个模板网站值得推荐!

职场工具箱

效率工具 职场 PPT模板 办公软件 AI生成PPT

家居艺术新篇章:东芝艺术电视LA,定义生活美学新高度

极客天地

人到一定年纪,要学会远离多巴胺

禅道项目管理

项目管理 多巴胺 中年人 上瘾模型 延迟满足

腾讯健康:我们有 40% 的代码是 AI 写的

CodeBuddy

Clicker for YouTube mac版 YouTube视频播放器

Rose

1000%增长!我仅用一个小时搞定!AI智能体+AI小程序=MVP王炸组合!

陈宇明

KubeEdge 1.19.0版本发布!更完备的节点设备能力,全新的Dashboard体验

华为云原生团队

云计算 容器 云原生

非凸科技支持第49届ICPC亚洲区域赛南京站成功举行

非凸科技

#编程 ICPC

二十载岁月如磐,一位高校女教师的技术坚守之路

华为云开发者联盟

鸿蒙 云主机 昇腾 AI 大底座

逻辑数据编织平台现代企业数据管理和分析的理想选择

Aloudata

数据仓库 数据分析 数据虚拟化 Data Fabric 数据编织

用户指南 | 如何使用 Flow 功能实现持续聚合,赋能实时计算和查询

Greptime 格睿科技

数据分析 时序数据库 持续聚合

ART云配置文件,提高安卓应用的性能_移动_Sergio De Simone_InfoQ精选文章