360手机卫士插件化演进与解决方案揭秘
需积分: 5 76 浏览量
更新于2024-06-21
收藏 4.68MB PDF 举报
《藏经阁-360手机卫士插件化漫谈》是一篇深度探讨360手机卫士插件化技术发展与应用的文章。作者张炅轩在360公司的六年间,见证了插件化技术从早期的需求驱动到解决软件发布不灵活、包过大、模块依赖性强等问题的演变过程。
最初,360手机卫士面临的问题包括发布不灵活,由于Android应用的动态加载机制如Dynamic-Loader、Atlas/ACDD类引入,开始尝试将代码和资源模块化,通过Fragment和固定组件实现一定程度的灵活性。然而,这些早期的尝试虽然解决了部分问题,但插件在稳定性上并不理想,且使用场景有限,逐渐边缘化。
2014年,360手机卫士推出了完整的占坑方案,解决了插件的稳定性问题,但在灵活性上仍然存在挑战。核心问题是需要在稳定性和灵活性之间找到平衡,特别是对于大型项目,如何在不影响整体应用性能的情况下,充分利用插件化优势。
插件不稳定的主要原因是过多地使用Hook技术,即修改系统关键API来实现功能,这不仅对系统的兼容性造成威胁,还可能导致应用在不同Android版本和定制ROM上的不稳定性。为了提升用户体验,360手机卫士团队决定追求Hook-Less,即尽可能减少对系统底层的直接干预,仅在必要时 Hook 一处,例如通过修改Application的ClassLoader,确保更安全、稳定的基础环境。
文章详细讲述了如何通过改进插件框架设计,引入新的Class Loader实现机制,使得360手机卫士能够在满足稳定性的同时,提供更高的灵活性。这一技术革新旨在解决大型项目中的痛点,并适应不断发展的Android生态,确保数亿用户的设备能够流畅使用360手机卫士的各种功能。
《藏经阁-360手机卫士插件化漫谈》深入剖析了360手机卫士在插件化技术上的探索历程,展示了如何通过技术创新解决实际问题,提高应用程序的用户体验和平台兼容性。这对于其他开发者理解和采用类似技术,或者在面对类似挑战时寻求解决方案具有重要的参考价值。
2018-08-19 上传
2023-08-28 上传
2023-08-28 上传
2023-08-30 上传
2023-08-26 上传
weixin_40191861_zj
- 粉丝: 83
- 资源: 1万+
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析