写点什么

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:004200

评论

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

Rhinoceros 8 for Mac(犀牛8mac中文版)专业三维建模工具

Rose

腾讯一面:那些数据库的高频问题

王中阳Go

数据库 腾讯 MySQL 高可用 面试问题

AIP智能体平台:解锁未来软件开发的新篇章

大东(AIP内容运营专员)

人工智能

Three.js 的优缺点分析

北京木奇移动技术有限公司

three.js 软件外包公司 webgl开发

Babylon.js 开发框架的优缺点分析

北京木奇移动技术有限公司

软件外包公司 webgl开发 babylon.js

信息安全小课堂开讲啦!大伙看这里!

行云管家

网络安全 信息安全 数据安全

软件工程3.0时代,AI落地研效成熟时

思码逸研发效能

研发效能 AIGC 研发效能度量 研发效能管理

AIP智能体平台:开启教育与科技的新篇章

大东(AIP内容运营专员)

理工人的假期带娃搭子,和孩子一起动手建水塔,筑大坝……

博文视点Broadview

0 Token 间间隔 100% GPU 利用率,百度百舸 AIAK 大模型推理引擎极限优化 TPS

百度Geek说

百度云 大模型、 #GPU

API对于程序员的多元用法:从基础到实战

科普小能手

学习 编程语言 编程学习 API 接口 Python API

COB LED屏幕在小间距显示时代的机遇与挑战

Dylan

cobra LED显示屏 全彩LED显示屏 led显示屏厂家 市场

如何通过物化视图加速数据湖查询?

镜舟科技

sql 数据湖 数据分析 StarRocks 物化视图

首批!云高性能计算平台CHPC通过云超算资质测评,百度智能云引领算力服务新高度!

Baidu AICLOUD

高性能 高性能计算

Downie 4 for Mac v4.8.13最新中文版 苹果电脑专业youtube视频下载器

Rose

数字先锋 | “点击就成片”,中国电商人是懂做生意的!

天翼云开发者社区

云计算 存储 智能算力

2024 京东零售技术年度总结

京东科技开发者

前端怎么做好稳定性保障体系建设?精准搞定“白虎”,不用叫“广智”!

京东科技开发者

Mac文件同步对比工具Beyond Compare 5最新密钥及安装教程

Rose

Babylon.js 开发框架的主要特点

北京木奇移动技术有限公司

软件外包公司 webgl开发 babylon.js

Bigasoft Video Downloader Pro:支持全球视频平台,下载无障碍!

Rose

车联网服务平台的数据安全监测、共享、流通

芯盾时代

车联网 物联网 智能汽车

新能源电池行业MES系统解决方案

万界星空科技

mes 锂电池 万界星空科技 电池mes 新能源电池

《HAP信创生态白皮书》正式发布

明道云

鸿蒙原生游戏上新!《王者荣耀》鸿蒙版上线华为游戏中心

最新动态

FlowJo 10:流式细胞数据分析的巅峰之作,解锁生命科学的无限可能!

Rose

一文教你如何本地部署玩转DeepSeek-V3,免费体验100度算力包跑通!

九章云极DataCanvas

开发 #编程 DeepSeek v3

酒店有数,人间有味,伙伴有华为

脑极体

AI

Three.js 开发框架的主要特点

北京木奇移动技术有限公司

three.js 软件外包公司 webgl开发

爆肝整理!一文带你吃透软件测试

测试人

软件测试

敏捷不是拖延借口,如何把控准时交付?

禅道项目管理

敏捷开发 项目管理软件 优先级 准时交付 sprint计划

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