面试官:“会不会熟练使用Jetpack” 我:“......”

面向标准化开发已成现实

金三银四,相信有不少读者在抓紧机会面试。

Android 市场已今非昔比。在过去,迫于招人的压力,应试者只需了解四大组件、视图、网络请求,即可谋得一份满意的工作。

现如今,Jetpack 架构组件 及 标准化开发模式 的确立,意味着 Android 开发已步入成熟阶段:

许多 样板代码 不再需要开发者手写,而是可以通过模版工具 自动生成,在取缔繁杂耗时的重复工作的同时,避免因人工操作的疏忽,而造成难以排查、不可预期的错误

这十分符合企业的利益,因而面试官在招人的时候,也更加看重应试者对 架构组件 —— 至少是 MVVM 的理解程度。🧐

像“解耦”等 含糊其辞的说法,已经不能够被面试官所认可,稍微对 MVVM 有一点经验的面试官都会请你举例说明,好证明你确实对 MVVM 有着正确、深入的理解,能够自然而然地写出标准化、规范化的代码,能够迅速适应 各家公司自制的 自动化模版工具。

本文的目标

本人拥有 3 年的 移动端架构 践行和设计经验,领导团队重构的中大型项目多达十数个,对 Jetpack MVVM 架构在确立规范化、标准化 开发模式 以减少不可预期的错误 所作的努力,有着深入的理解。

因而本文的目标,就是结合前几期我们分别 深入浅出 介绍过的 Lifecycle、LiveData、ViewModel、DataBinding,来融汇贯通地演绎一下:

作为 应用开发骨架 的 标准化状态管理框架,究竟为 快速开发过程中 减少不可预期的错误 做了哪些努力。

不同于 东拼西凑、人云亦云、徒添困扰 的网文,愿意将 标准化开发模式的 深度思考知识实战反思经验 无保留地分享,全网仅此一家。这样的文章可以说是 看一篇、少一篇,因此,就算不去 hold 住面试官,也请务必跟随本文的脚步,无障碍地将 Jetpack MVVM 过一遍!😉

文章目录一览

  • 前言
  • 面向标准化开发已成现实
  • 本文的目标
  • Jetpack Lifecycle
    • Lifecycle 存在前的混沌世界
    • Lifecycle 为什么能解决上述这些问题?
  • Jetpack LiveData
    • LiveData 存在前的混沌世界
    • LiveData 为什么能解决上述这些问题?
    • LiveData 有个坑需要注意
  • Jetpack ViewModel
    • ViewModel 存在前的混沌世界
    • ViewModel 为什么能做到这几点?
  • Jetpack DataBinding
    • DataBinding 存在前的混沌世界
    • DataBinding 就是来解决这些问题
  • 综上

Jetpack Lifecycle

Lifecycle 的存在,主要是为了解决 生命周期管理 的一致性问题

Lifecycle 存在前的混沌世界

在 Lifecycle 面市前,生命周期管理 纯靠手工维持,这样就容易滋生大量的一致性问题。

例如跨页面共享的 GpsManager 组件,在每个依赖它的 Activity 的 onResume 和 onPause 中都需要 手工 激活、解绑 和 叫停

那么 随着 Activity 的增多,这种手工操作 埋下的一致性隐患 就会指数级增长

一方面,凡是手工维持的,开发者容易疏忽,特别是工作交接给其他同事时,同事并不能及时注意到这些细节。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值