![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jetpack
文章平均质量分 93
让开,我要吃人了
这个作者很懒,什么都没留下…
展开
-
BlockCanary源码解析
作者:用优美的姿势去写代码BlockCanary源码解析在讲解BlockCanary源码之前,我们还是需要将一些前置的知识点。本文不讲Handler的原理了,不太懂的同学自己去百度看一下吧。什么是卡顿在讲解卡顿问题之前,我们需要讲一下帧率这个概念。帧率是以帧称为单位的位图图像连续出现在显示器上的频率。我将一个例子,电影播放。电影其实就是很多张照片(帧)的一个集合,那为什么看起来是一个连续的过程呢?因为电影每一秒出现过的图片不止一张。实际上电影一般一秒出现的图片张数会在20-30张。假设电影一秒出.转载 2022-03-25 14:15:18 · 151 阅读 · 0 评论 -
在 Compose 中使用 Navigation 导航,看这一篇就够了~
作者:黄林晴前言大约在一年半前,我发布了Compose的第一篇文章 Jetpack Compose开篇 之 HelloWorld,连我自己也没想到,这一年半的时间中我竟再也没有看过Compose…, 如今Compose已经发布了稳定版本,还没学会Compose让我的头发又白了许多~使用Navigation在Compose中导航如果你之前不喜欢Android提倡的”单Activity“应用,那么在Compose中相信你会慢慢习惯的~在此示例中,有两个页面PageOne和PageTwo,首先来看P.转载 2022-03-24 13:47:47 · 2537 阅读 · 0 评论 -
Android JetPack LifeCycle源码分析
作者:白瑞德简介Lifecycle 是一个类,用于存储有关组件(如 Activity 或 Fragment)的生命周期状态的信息,并允许其他对象观察此状态。官方对Lifecycle的定义非常简单,它的作用也很明确:存储具有生命周期的组件的生命周期状态,并且作为一个被观察者,允许其他组件保持对生命周期状态的观察。Lifecycle组件的合理使用可赋予我们的代码显著的优点:无需在组件里生命周期方法里放置大量代码,即可实现对组件生命周期的监听的处理,再实现解耦的同时,让代码更有条理且精简易维护.转载 2022-03-11 13:42:28 · 284 阅读 · 0 评论 -
Android JetPack LiveData源码解析
作者:白瑞德简介和使用官方对LiveData的定义是:一种可观察的数据存储器类;具有以下优点:采用观察者模式,无需在数据发生变化时更新界面便能确保界面符合数据状态;具有生命周期感知能力,不需要手动处理生命周期,也不会因Activity停止而导致崩溃;观察者绑定到了Lifecycle对象,会自动进行清理,不会发生内存泄露; 同一个观察者只能和一个Lifecycle绑定;数据始终维持最新的状态,生命周期变为非活跃状态,它会在再次变为活跃状态时展示最新的数据(当Activity生命周期发生变化,.转载 2022-03-09 15:26:20 · 191 阅读 · 0 评论