前言
Jetpack 架构组件 及 标准化开发模式 的确立,意味着 Android 开发已步入成熟阶段。现在的Android岗招人的时候也非常看重应试者对 Jetpack 架构组件的理解程度。
今天要带给大家的是 Jetpack MVVM 的魔法,教你用Jetpack结合MVVM开发出优秀的APP!
JetPack 让 Android 一飞冲天
为了可以进行模板式的开发,Google 在2018年推出了 Android Jetpack。现在 Google 的应用市场中,大部分 APP 已经开始使用 Android Jetpack。
▲ 2018年版本
Jetpack 的优势有很多:
- UI和业务逻辑解耦。
- 有效避免生命周期组件内存泄漏。
- 提高模块可测试性。
- 提高应用稳定性,有效降低以下异常发生概率。 Can not perform this action after onSaveInstanceState WindowManager$BadTokenException, is your activity running? OOM 、 NullPointerException ……
Android Jetpack 组件的集合可以帮助我们写大量重复的代码的任务,简化复杂的任务,让我们的 BUG 减少,以便让我们把更多的精力放在业务逻辑上,放在打造应用本身上。
这些好处让我们开发者更加轻松地开发出出色的 Android 应用!
Jetpack MVVM=?
Jetpack是一种新的架构方式,从工作到现在,我们经历过了MVC、MVP、MVVM、Clean等,每个项目由于项目特点和需求的不同,都会出现一套基于开发者所设计的架构模式,分层、组件化、模块化,每一种设计都是基于项目所在场景的,很难适合所有项目场景。
但是Jetpack,它的定义更像是一套工具或者说指导;是谷歌正式推出的一整套用来构建APP开发的组件。
而 MVVM 架构模式可以说是Google “钦定”的 Android 开发未来的第一架构。
从Model-View-ViewModel 这个名字来看,它由三个部分组成,其中视图模型(ViewModel)其实就是 PM 模式中的展示模型。
除了我们非常熟悉的 Model、View 和 ViewModel 这三个部分,在 MVVM 的实现中,还引入了隐式的一个 Binder 层,我们要完整的采用 MVVM 必须熟练的掌握 DataBinding 等基础组件。
大公司App的开发需要基于模块化、层次化、组件化、控件化的思路来设计架构,从而提高App的需求的应变能力和可靠性。Artifactory对模块化和组件化大有帮助;Jetpack可以有效减少Oom和奔溃;Mvvm则可以满足需求的变化。但是,这些知识你都会吗?
为了帮助早日进阶成为高级安卓工程师,我们特邀中国联通资深架构师Allen老师为大家带来《基于Artifactory的MVVM Jetpack项目实战训练营》系列直播课程,让大家从OOM和分页、错误处理等重复代码中解放出来,收获一段高效的成长!
Allen老师
中国联通资深架构师;全球首批Android开发者;10余年项目开发经验,独立开发应用被 360收购。
专精领域:Android架构,性能优化等技术领域。
报名福利
>>升值服务
- 架构师三天时间带你从零开始手把手搭建APP框架
- 课前资料预习预热 课后作业巩固 配套源码及工具,全方位助你消化吸收
- 永久高质量学习社群,拥有你的小圈子,架构师实时答疑
>>资料领取
《全网最全Android架构师系统学习笔记》
网上学习 Android 的资料很多,但大都杂乱、零散、碎片化,如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
希望这份系统化的技术体系对大家有一个方向参考。
课程安排
4月23日:Mvvm项目Gradle优化和本地仓库搭建
- APP架构应该怎样搭建?
- MVx有哪些?区别是什么?
- Android工程Gradle的使用规范和本地仓库搭建;
- 模块化、层次化工程搭建;
4月24日:基于Jetpack的Mvvm高级架构逐步实现
- 初中级工程师是怎样实现架构?
- 架构师怎样实现控件化,怎样定义自定义的基类?
- Mvvm Model的功能是什么?缓存有哪些级别,怎样提取Model的基类?
- Mvvm ViewModel怎样和Jetpack结合,OOM问题在MVVM中怎样避免?
4月24日:App组件化和启动性能优化
- Fragment和Activity的错误处理页面有完美方案吗?基类又该怎样实现?
- App的白屏问题怎么解决?
- App启动速度性能优化;