前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >告诉你 Jetpack+MVVM 组合开发的APP有多优秀!

告诉你 Jetpack+MVVM 组合开发的APP有多优秀!

作者头像
用户1907613
发布2021-04-23 11:11:35
9710
发布2021-04-23 11:11:35
举报
文章被收录于专栏:Android群英传

前言

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优化和本地仓库搭建

  1. APP架构应该怎样搭建?
  2. MVx有哪些?区别是什么?
  3. Android工程Gradle的使用规范和本地仓库搭建;
  4. 模块化、层次化工程搭建;

4月24日:基于Jetpack的Mvvm高级架构逐步实现

  1. 初中级工程师是怎样实现架构?
  2. 架构师怎样实现控件化,怎样定义自定义的基类?
  3. Mvvm Model的功能是什么?缓存有哪些级别,怎样提取Model的基类?
  4. Mvvm ViewModel怎样和Jetpack结合,OOM问题在MVVM中怎样避免?

4月24日:App组件化和启动性能优化

  1. Fragment和Activity的错误处理页面有完美方案吗?基类又该怎样实现?
  2. App的白屏问题怎么解决?
  3. App启动速度性能优化;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 群英传 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档