2017年微信Android模块化架构重构实践.pdf

编号:92393 PDF 43页 2.76MB 下载积分:VIP专享
下载报告请您先登录!

2017年微信Android模块化架构重构实践.pdf

1、微信Android模块化架构重构实践?W回顾,微信-IALoEA架构历史W问题又来,模块化之后的“坑VW解决问题,重塑模块化W思考,取舍和选择Wv码之外,架构之内微信-IALoEA架构回顾P&.R简单分层架构P2.R多进程架构P(.R多子工程并行开发架构微信-IALoEA架构回顾?sdk/?libpluginlibnetscenelibmmuiimage loadercrashsfsxlogb务工程KGuCEI MAk基础工程 组y库MAk/W问题又来,模块化之后的“坑VW解决问题,重塑模块化W思考,取舍和选择Wv码之外,架构之内W回顾,微信-IALoEA架构历史原本好好的架构出lsh问题?s

2、dk/?image loadercrashsfsxlogb务工程KGuCEI MAk?libpluginlibnetscenelibmmui基础工程 组y库MAk/?libpluginlibnetscenelibmmui组y库基础工程问题出在哪?W我x在思考,模块化之后,这o问题是怎h来的?W先来看一张图朋友圈游戏公众号小程序搜索支u&*9&)9&2群聊表情联系r音k视频上报应用消息微信运动位置WBb指纹消息微信复杂的b务关系问题出在哪?A?B?Event?基础工程依赖依赖KubGEMD 1PBINW基础工程的膨胀 使用1PBIN总线作为通信的手段,为l共享1PBIN类型,1PBIN通常被下沉

3、到基础工程e 当需要共享一o数据结构,例如/DaNLoom6BmbBL,一样需要下沉v码 更进一步,一ob务v码需要被共享,例如/DaNLoomSNoLaCB会被很多b务使用,那hSNoLaCB和相关的5oCEc类,一起下沉到“基础工程Ve 越来越多的v码需要被“共享V,下沉问题出在哪Wg工程膨胀的原因 g工程b务功能的增加 模块的生命周期设计存在问题 进程启动的逻辑全都在g工程-ccouIN 初始化-ccouIN 注销程序启动程序退出模块生命周期问题出在哪W模块的“v码边界V有点问题 由nCLaAGB moAuGB的编译性能问题,我x将所有的工程都对接在一dmoAuGB上。m实证明,任何单纯

4、的编码约定,即使对此熟知的团队都无法保证v码不被破坏。被b务v码“逐渐污染V的基础工程,内部依赖同样错综复杂。模块化之后的“坑VW面对这o问题,我x意识到整d架构的v码正在不断被腐蚀 W这样的v码我x是否还能“忍忍V?重构契机W硬y同学希望跟进微信最新组y、协议、服务 W精简v码,移植b务模块,快速实现类似“微信相册V这样的p品功能 W这不是“忍忍V就能解决的问题W回顾,微信-IALoEA架构历史W问题又来,模块化之后的“坑VW解决问题,重塑模块化W思考,取舍和选择Wv码之外,架构之内目标?重塑模块化拆解目标?通信方式W正文级别&W正文级别 2 W正文级别(W正文级别)W正文级别*W不只使用m

5、y总线或协议通信,使用“S04V的形式暴露接口 my总线并不适合所有的通信方式,更适合广播,可作为补充 协议通信定i繁琐,适合需要序列化、有隔离的场景 配合301补全,开发方便通信方式注册3SBLPEcBregService(IMyService.class,myService);访问3SBLPEcBservice(IMyService.class).doServiceWork();通信方式TT简便的接口暴露W方便的接口暴露 不用每d模块都手动分cd工程 接口类的v码文y,和实现v码可w放在一起,但实现类并不会被外面的工程“引用V W我x的方式TT“.aKEV化通信方式TT简便的接口暴露ICo

6、ntactStorage.javaIContactStorage.apitable.dbtable.db.apiwechat.protowechat.proto.api通信方式TT简便的接口暴露settings.gradleinclude_with_api(:plugin-messenger)build.gradledependenciescompileApi(:plugin-messenger)设计目标?重新设计模块TT分层结构改造big ballofmudsdk/?mmkernelimage loadercrashsfsxlogb务模块微信kBLIB

友情提示

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

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

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠