
Qunar Android客户端架构演进:从Armageddon到Spider
版权申诉
16.39MB |
更新于2024-07-06
| 129 浏览量 | 举报
收藏
"该资源是去哪儿网平台事业部张子天关于Qunar Android客户端架构发展历程的分享,主要讨论了从早期的架构到Spider架构的演变,以及在此过程中遇到的问题和解决方案。"
去哪儿网Qunar的Android客户端架构经历了多次迭代,从早期的应对低API版本的“远古时期”到后来的Armageddon架构,再到最终的Spider架构。在“远古时期”,由于Android版本较低,开发者遵循了一系列优化准则,如避免建立对象、使用本地方法、选择虚类而非接口等,以保证应用的性能和大小控制在3M以内。
随着业务的快速发展和Android环境的升级,去哪儿旅行客户端遇到了一系列挑战,包括多个团队共同开发导致的协同问题、方法数达到65535的限制、复杂的编译构建过程以及统一的发布时间点导致的发布流程不可控。为解决这些问题,去哪儿网引入了Armagaddon架构,它通过Multidex技术解决了方法数限制,但仍然未能完全解决团队协作和构建效率问题。
随后,Spider架构应运而生,其核心特点包括:
1. 轻架构设计,将操作系统与应用分离。
2. 组件化全方面实施,每个组件(Atom)都是独立单元。
3. 完全解耦客户端和前端,允许独立开发和构建。
4. 实现云构建,一键完成打包过程。
5. 保持标准开发流程,迁移成本低。
Spider架构进一步细化了组件管理,使用了更细粒度的ClassLoader,并将所有功能视为组件——Atom。Atom具有以下特性:
- Atom可以独立运行,彼此间没有代码引用。
- Atom之间的业务依赖通过管理机制进行处理。
- 支持Atom级别的复用,比如接口化的推送接入,实现推送行为的个性化。
- 动态加载优化,包括精准定位Class、控制单个Atom大小、业务直接解耦、按依赖树进行多 Dex 分割、预加载和延迟加载等策略,甚至使用黑科技来避免DEX优化。
通过Spider架构,去哪儿网成功解决了前后端多个团队共同开发一个App的问题,提高了开发效率,减少了构建和发布的时间,并实现了组件的灵活更新和独立维护,从而提升了整体的开发效率和产品质量。
相关推荐










mylife512
- 粉丝: 1465
最新资源
- 制作Flash动画:影视效果实现教程
- Android应用开发全方位指南
- 西威变频器使用及调试手册
- 图书管理系统实现与源代码分析
- 深入了解Delphi编写的键盘记录器及其功能
- MSP430F14X系列单片机官方例程深入解析
- T-snake算法在轮廓提取和结构变化中的应用
- SSH框架入门指南:简易配置与学习教程
- ASP.NET MVC开源博客源码1.0特性解析与优化
- ASP.NET编程实用代码集锦
- Total Commander 7.5增强版特性:个性化、多插件及强大压缩功能
- OpenGL在AVI视频播放中的应用技巧
- ExtJS实现的动态抽奖程序开发分享
- XP系统字体修复神器:Microangelo On Display
- 实现图片上传前本地预览的JSP版JavaScript源代码
- 初学者适用:C#三层架构企业网站源码解析
- 快速实现仿CSDN论坛左侧树菜单的设计
- Spring Framework 2.0开发参考手册下载
- 高频电路原理及分析详解(包含第五章完整答案)
- 网络带宽分配大师:NetLimiter注册版深入解析
- Windows 3.2 中文版操作系统安装指南
- JFreeChart 开源图表开发完整指南
- ASP.net框架实现数据库内容更新操作
- 十天精通易语言:图解教程全攻略