- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用升级进阶之路;移动互联网时代,一切都更快捷
但应用升级却遇到了这些问题……
;应用的平均上线时间需10小时以上
平均迭代周期在一个月至一个半月内
一年平均发布8—10个版本
;应用市场中的版本升级需依赖应用市场主动推送,用户主动点击,版本转化率小.
;基于应用市场版本升级转化率小,如果希望用户能升级最新版本获得最佳体验,往往需要开发;运营;产品;客服等多角色参与,版本兼容成了大问题.
;;主流 热更新框架;WaxPatch (Lua)
利用 Objective-C 语言的动态性及消息传递机制实现方法替换,新增方法。WaxPatch 基于Wax进行了扩展,主要是增加了替换原始方法实现的能力
优势
支持 iOS 6,理论上支持所有iOS系统版本
劣势
需要引入解析引擎,包体积会增大,并存在一定的审核风险
;JSPatch (JavaScript)
通过 iOS 7.0 新增的 JavaScriptCore 及开放的接口与 Objective-C 互传消息,利用Objective-C 语言的动态性及消息传递机制实现方法替换,新增方法等
优势
基于系统内置 JavaScriptCore,无需额外引入解析引擎
JavaScript 语言相比 Lua 有更广泛的群众基础,并且不存在审核风险
劣势
不支持 iOS 7 以下系统;QZone 解决方案
Android 中 ClassLoader 可以包含多个 dex 文件,如果在不同的 dex 中有相同的类存在,那么会优先选择排在前面的 dex 文件内的类,所以把需要替换的类打包到一个 dex 文件中,然后把这个 dex 插到最前面就可以满足热更新的需求
优势
开发透明,简单,是所有热更新方案中可靠性最高的,Java层兼容性问题会比较少
劣势
需要类进行插桩来跳过CLASS_ISPREVERIFIED的校验,有一定的性能影响,主要体现在启动速度上,补丁只有在下次启动才生效;Android 主流热更新框架差异;如何选型;Bugly 弹窗升级 热更新;Bugly 选用的技术框架;开发透明:?开发者无需关心是否在补丁版本,他可以随意修改,不由框架限制
性能无影响:补丁框架不能对应用带来性能损耗
完整支持:支持代码,So 库以及资源的修复,可以发布功能
补丁大小较小:?补丁大小应该尽量的小,提高升级率
稳定,兼容性好:?保证微信的数亿用户的使用,尽量减少反射
;Dexdiff 算法目的;;Bugly 热更新平台特色;Bugly 热更新平台特色;Bugly 弹窗升级平台特色;Bugly 弹窗升级平台特色;Bugly 一种愉悦的开发方式
文档评论(0)