Jetpack全家桶中最受欢迎的一定是它

149 篇文章 4 订阅
98 篇文章 3 订阅

长久以来,Android官方一直没有一个规范的项目架构,只要能实现功能,代码你可以随便写。Android开发者基本也是处于放养的状态,生态这东西基本全靠自建了。直到Jetpack的出现,很大程度的帮大家解决了这一问题。作为开发组件库集,Jetpack的主要目的就是帮助开发者写出更加简洁的代码,简化开发过程。且其中的大部分组件不依赖于任何Android版本,拥有非常好的向下兼容性。
在这里插入图片描述
可以看到Jetpack基本有基础、架构、行为、界面这4个部分组成,众多组件中,我们最需要关注的还是架构组件。尤其是Lifecycle和Livedata,为我们的开发过程提供了很大的便利。

Lifecycle&Livedata

Lifecycle-Lifecycle是生命周期感知型组件,可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化,并将变化通知到已注册的观察者。它有助于更好地组织代码,让代码逻辑符合生命周期规范,减少内存泄漏,增强稳定性。
在这里插入图片描述
本质上Lifecycle就是一个观察者模式,来监听Activity或者Fragment的生命周期。对于android开发来说,界面的生命周期是非常重要的,处理不好的话很容易导致内存泄漏的问题。在android开发中,很多功能的实现都需要在不同的生命周期中进行相应操作的调用。

比如说地图:定位需要在onStart中执行start操作,在onStop中执行stop操作;还有播放器需要在onStart中的进行连接,在onStop中进行中断连接的操作。如果我们忘记了在onStop或者onDestory中释放资源,那么就会导致内存泄漏的问题。而Lifecycle可以很好地帮我们解决这一问题。

Livedata-在诞生之初,很多人都觉得它是鸡肋般的存在。但是随着Google的大力扶持,以及其本身优秀的设计和轻量级,获得了越来越多的青睐。

Livedata的本质是观察者模式,它就像一个容器,每当其中的数据发生变化,我们都可以在回调函数中做出相应处理。事件发射的上游和接收事件的下游互不干涉,大幅降低互相持有的依赖关系所带来的强耦合性。除此之外,它还具备很多优点:

  • 确保 UI 界面始终和数据状态保持一致。

  • 没有内存泄漏,观察者绑定到 Lifecycle 对象并在其相关生命周期 destroyed 后自行解除绑定。

  • 不会因为 Activity 停止了而奔溃,如 Activity finish 了,它就不会收到任何 LiveData 事件了。

  • UI 组件只需观察相关数据,不需要停止或恢复观察,LiveData 会自动管理这些操作,因为 LiveData 可以感知生命周期状态的更改。

  • 在生命周期从非激活状态变为激活状态,始终保持最新数据,如后台 Activity 在返回到前台后可以立即收到最新数据。

  • LiveData 很适合用于组件(Activity / Fragment)之间的通信。
    在这里插入图片描述
    Jetpack也是目前面试中的加分项,而在Jetpack中,Lifecycle&Livedata可以说是我们最常用的两个组件。

在这里插入图片描述

/ 如何学习Lifecycle&Livedata /

为了更好地帮助大家掌握Jetpack最关键的两个组件,早日成为真正的中高级Android开发者,本次特邀腾讯课堂前三星/小米高级研发经理为大家整理了一份《Jetpack架构从入门到精通》学习资料,需要的可以去文末扫码免费领取

目录

一、Jetpack架构组件从入门到精通

在这里插入图片描述

二、Android Jetpack实战和教程

  • Android Jetpack - Navigation
  • Android Jetpack - Data Binding
  • Android Jetpack - ViewModel & LiveData
  • Android Jetpack - Room
  • Android Jetpack - Paging
  • Android Jetpack - WorkManger
  • Android Jetpack - Paging 3

  • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值