上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

Android组件化实现 -EMAS专场(19页).pdf

编号:87449 PDF 19页 3.79MB 下载积分:VIP专享
下载报告请您先登录!

Android组件化实现 -EMAS专场(19页).pdf

1、Android组件化实现手机淘宝架构工程师查郁EMAS专场-移动互联的进化论1.Atlas的演进2.Atlas的特性3.Atlas工程期4.Atlas运行期5.Atlas运维期演进插件式1.01.0静态组件式动态组件式2.02.03 3.0.0进程隔离插件独立2012-2013单一进程组件可独立中间件复用2014-2015按需加载支持远程组件容器升级2015-2017融合instant app4 4.0.0Instantapp和atlas完美融合Atlas容器特性工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的

2、生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速手淘的Atlas框架主要提供了组件化、动态性、解耦化的支持。支持工程师在工程编码期、Apk运行期以及后续运维修复期的问题。实现完整的组件生命周期的映射,类隔离等机制实现工程独立开发,调试的功能,工程模块独立快速增量的更新修复能力,快速升级透明,灵活,稳定,敏捷,高性能Atlas动态特性工程期独立成功率稳定在95以上运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问

3、题修复快速速支持类型支持类型兼容性兼容性性能性能补丁大小补丁大小成功率成功率开发透明开发透明适配4.x8.x 版本,在线上稳定运行4年多通过去Verify等手段,达到极小的性能损耗通过精细化Diff的方法,达到非常小的Patch包与正常开发功能无差别,自动生成Diff包支持Class文件,SO和资源的增删改操作Atlas的价值工程期独立的开发模式,各个业务独立开发调试,独立集成手淘发布次数手淘发布次数手淘发布频率手淘发布频率70多个业务协同开发移动平台400+工程师外部20+BU参与Atlas工程化体系工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundle

4、bundle独立的独立的生命周期,相互隔离生命周期,相互隔离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速打包插件进化打包插件进化antant-mavenmaven-gradlegradle分布式的仓库依赖统一的版本构建AaptAapt-customized-package-id-use-skt-package-name低内聚,业务模块物理隔离独立开发,独立调试独立集成,独立发布package type entry0 x7f0 x020 x0002Atlas包结构工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundl

5、ebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Atlas模块分层工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Atlas容器架构工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭

6、代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Atlas包构建流程工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速1.分析依赖,仲裁所有依赖2.在apk的构建过程中,插入awb apk的构建3.Awb的res根据宿主的resource.ap_加包内资源构建4.Awb的R文件由bundle的R资源+宿主R资源合并而来5.修改Aapt,每个awb有不同的packageId6.Proguar

7、d为统一优化混淆,多个output产物7.分别做dex8.打成多个apk9.合并多个apk到主apk中Atlas运行期工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速触发触发bundle installbundle installCopy Copy solibsolibDexoatDexoat,start,start applicationapplication01020304B Bbundlebundl

8、e生命周期生命周期Inject assetpathCreate bunleclassloaderinstalledinstalledstartedstartedloadedloadedBefore installedBefore installedRestore from exist Restore from exist bundlebundleAtlas类加载Restore from exist Restore from exist bundlebundleBootClassloaderPathClassLoaderdelegeteClassloaderbundleClassloaderbu

9、ndleClassloaderbundleClassloaderBootClassloaderBundleClassloaderfindownclassfindownclassfindPathclassloaderfindPathclassloaderFind Dependency Find Dependency classloaderclassloaderFind classFind classparentparentparentparentparentparentFind Find classclassFind Find classclassFind Find classclassFind

10、 Find classclassFind Find classclassFind Find classclassAtlas资源加载工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离Restore from exist Restore from exist bundlebundleDelegeteResourcesDelegeteResourcesAssetManagerAssetManagerAssetMangerNativeAssetMangerNativeromrom0 x010 x01R

11、esource.arsResource.arsc c宿主宿主0 x7f0 x7fResource.arsResource.arsc cBundle ABundle ABundle BBundle B0 x320 x32Resource.arsResource.arsc c.Atlas动态特性工程期独立的开发模式,各个业务独立开发调试,独立集成组件远程下载(从无-有)在构建期参与构建,在最后发布阶段从APK包中剔除。在用户启动阶段,通过远程下载的方式进行安装。适用于预装,大体积业务等运维期运维期各个业务迭代可以独立升级,问题修复快速各个业务迭代可以独立升级,问题修复快速Restore from

12、exist Restore from exist bundlebundle业务组件动态更新通过组件Diff,Merge的过程进行更新;直接在组件的生命周期内做,兼容性极好宿主动态更新通过类、资源、so文件等的diff算法,通过merge算法来实现更新,有比较好的兼容性。宿主类动态部署运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Restore from exist Restore from exist bundlebundlenewpatchsourceclasses.dexotherclasses.dexotherclasses2.dexclasse

13、s.dexotherdalvik中源dex会剔除重复class,art中源dex保持不变dalvik规避verify机制Art方法索引错乱Taobao loaddex宿主资源动态部署工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Restore from exist Restore from exist bundlebundleKeepKeep已有资源段已有资源段为新增资源预留资源段为新增资源预留资源段1

14、 1、aaptaapt B B 基线基线apkapk固定资源固定资源IDID2 2、预留空资源段、预留空资源段dalvikdalvik优点优点支持所有的资源类型支持所有的资源类型全版本全机型兼容全版本全机型兼容开发无感知(不需要修改代码)开发无感知(不需要修改代码)缺点缺点新增资源需要预埋资源在基线包新增资源需要预埋资源在基线包resources.arscabcd1234resources.arscNO_ENTRYNO_ENTRYNO_ENTRYdefgh升级策略工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的

15、生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Restore from exist Restore from exist bundlebundle远程下载工程期独立的开发模式,各个业务独立开发调试,独立集成运行期运行期各个业务各个业务bundlebundle独立独立的生命周期,相互隔的生命周期,相互隔离离运维期运维期各个业务迭代可以独各个业务迭代可以独立升级,问题修复快立升级,问题修复快速速Restore from exist Restore from exist bundlebundleActivityNotFoundInterceActivityNotFoundInterceptorptorBundleResolverBundleResolvercant find class?cant find class?AMSAMSremote?remote?k khas url?has url?InstrumentationInstrumentationHookHookN NY YN Nerror error processprocessstart start targettargetY YN Nstart browserstart browserYGet bundleGet bundleN NY Y

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(Android组件化实现 -EMAS专场(19页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部