Android应用组件化实现_第1页
Android应用组件化实现_第2页
Android应用组件化实现_第3页
Android应用组件化实现_第4页
Android应用组件化实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Atlas平台介绍Android应用组件化实现Atlas的演进Atlas的特性Atlas工程期Atlas运行期Atlas运维期演进插件式1.0静态组件式动态组件式2.03.0进程隔离插件独立2012-2013单一进程 组件可独立 中间件复用 2014-2015按需加载 支持远程组件容器升级2015-2017融合 instant app4.0Instantapp和atlas完美融合Atlas容器特性工程期独立的开发模式,各 个业务独立开发调 试,独立集成运行期各个业务bundle独立 的生命周期,相互隔 离运维期各个业务迭代可以独 立升级,问题修复快 速手淘的Atlas框架主要提供了组件化、动态

2、性、解耦化的 支持。支持工程师在工程编码期、Apk运行期以及后续 运维修复期的问题。实现完整的组件生命周期的映射,类隔离 等机制实现工程独立开发,调试的功 能,工程模块独立快速增量的更新修复能力,快速 升级透明,灵活,稳定,敏捷,高性能Atlas动态特性成功率稳定在95 以上支持类型兼容性性能补丁大小成功率开发透明适配4.x8.x 版 本,在线上稳定 运行4年多通过去Verify等手 段,达到极小的性 能损耗通过精细化Diff的方法,达到非常小的Patch包与正常开发功能无差 别,自动生成Diff包支持Class文件,SO和资源的增删改操作Atlas的价值手淘发布次数手淘发布频率70多个业务协

3、同开发 移动平台400+工程师 外部20+BU参与Atlas工程化体系打包插件进化 ant-maven-gradle分布式的仓库依赖统一的版本构 建Aapt -customized-package-id-use-skt-package-name低内聚,业务模块物理隔离 独立开发,独立调试独立集成,独立发布packagetypeentry0 x7f0 x020 x0002Atlas包结构Atlas模块分层Atlas容器架构Atlas包构建流程1.分析依赖,仲裁所有依赖2.在apk的构建过程中,插入awb apk的构建3.Awb的res根据宿主的resource.ap_加包内资源构建 4.Awb的

4、R文件由bundle的R资源+宿主R资源合并而来5.修改Aapt,每个awb有不同的packageId6.Proguard为统一优化混淆,多个output产物7.分别做dex8.打成多个apk9.合并多个apk到主apk中Atlas运行期触发bundleinstallCopysolibDexoat,startapplication010304bundle生命周期Inject assetpath02Create bunleclass loaderinstalledstartedloadedBeforeinstalledRestorefromexist bundleAtlas类加载BootClas

5、sloaderPathClassLoaderdelegeteClassloaderbundleClassloaderbundleClassloaderbundleClassloaderBootClassloaderBundleClassloaderfindownclassfindPathclassloaderFindDependencyclassloaderFindclassparentparentparentFind classFindclassFind classFind classFind classFind classAtlas资源加载DelegeteResourcesAssetMan

6、agerAssetMangerNativerom0 x01Resource.arsc宿主 0 x7fResource.arscBundleABundleB0 x32Resource.ars c.Atlas动态特性组件远程下载(从无-有)在构建期参与构建,在最后发布阶段从APK包中剔除。在 用户启动阶段,通过远程下载的方式进行安装。适用于预 装,大体积业务等业务组件动态更新通过组件Diff,Merge的过程进行更新;直接在组件的生 命周期内做,兼容性极好宿主动态更新通过类、资源、so文件等的diff算法,通过merge算法来 实现更新,有比较好的兼容性。宿主类动态部署newpatchsourceclasses.dexotherclasses.dexotherclasses2.dexclasses.dexotherdalvik中源dex会剔除重复class,art中 源dex保持不变dalvik规避verify机制Art方法索引错乱Taobao loaddex宿主资源动态部署Keep已有资源段为新增资源预留资源段1、aaptB基线apk2、预留空资源段固定资源ID dalvik优点支持所有的资源类型 全版本全机型

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论