Jetpack 源码解析—LiveData的使用及工作原理 (mp.weixin.qq.com)

【简介】

LiveData是一个可观察的数据持有者类,与常规observable不同,LiveData是生命周期感知的,这意味着它尊重其他应用程序组件的生命周期,例如Activity,Fragment或Service。此感知确保LiveData仅更新处于活动生命周期状态的应用程序组件观察者。

点击查看全文 >>

@code小生 2019-07-21 19:06分享 / 0个评论
赞过的人: 技术头条 code小生
要不要再学学下面的文章?
JVM源码分析之Attach机制实现完全解读 (club.perfma.com)
在讲这个之前,我们先来点大家都知道的东西,当我们感觉线程一直卡在某个地方,想知道卡在哪里,首先想到的是进行线程dump,而常用的命令是jstack ,我们就可以看到如下线程栈了
by @PerfMa社区 10小时前 分享 查看详情
仿小红书长图片自动循环滚动效果实现 (附完整源码) (mp.weixin.qq.com)
仿小红书长图片自动循环滚动效果实现 (附完整源码),让小姐姐们动起来
by @DataFunBoy 2020-05-18 08:38 分享 查看详情
在快应用中使用 RxJS (quickapp.vivo.com.cn)
RxJS作为一个功能强大的事件处理库,其具备丰富的操作符,如何能将这些能力在快应用中发挥出来呢?本文对此做出了一些实践和尝试。
by @杨琼璞 2020-05-11 22:27 分享 查看详情
JetPack + 单 Activity 的一些思路 (mp.weixin.qq.com)
Google推JetPack已经有一段时间了,伴随之而来的是MVVM架构,使用ViewModel LiveData等工具来实现data-binding。
JetPack中还附带了一个Navigation,顾名思义,即导航功能,主要目的是用来实现单Activity架构,之前写过一篇文章,是利用fragmentation来实现单Activity架构,抱着学习的态度,这次的项目采用了Navigation来实现单Activity架构。
by @code小生 2020-05-11 14:14 分享 查看详情
Android Jetpack 最佳开发姿势 (mp.weixin.qq.com)
Navigation

NavController在 NavHost 中管理应用导航的对象,沿导航图中的特定路径导航至特定目标,或直接导航至特定目标。
by @code小生 2020-04-28 21:43 分享 查看详情
Flutter Platform View:在 Flutter 中使用Android、iOS的原生 View (mp.weixin.qq.com)
我们在进行Flutter开发的时候,有时候是需要用到原生的View,比如WebView、MapView、第三方广告SDK等,Flutter提供了AndroidView、UiKitView可以实现相关功能。
by @code小生 2020-04-26 20:04 分享 查看详情
JVM源码分析之JDK8下的僵尸(无法回收)类加载器 (club.perfma.com)
现象是有一些类加载器是作为key放到WeakHashMap里的,但是经历过多次full gc之后,依然坚挺地存在内存里,但是从代码上来说这些类加载器是应该被回收的,因为没有任何强引用可以到达这些类加载器了
by @PerfMa社区 2020-04-21 16:25 分享 查看详情
使用 YApi 管理 API 文档,测试, mock (juejin.im)
接口的维护管理非常耗时,大概占用了30%开发时间。后端程序员要维护对于他们冗余的文档,前端程序员又因为后端开发提供的文档不准确,导致浪费了大量的时间。
接口的正确性和稳定性很难保证,前端工程师为了处理各种数据异常情况,将会写大量异常处理逻辑。传统的接口自动化测试成本非常高,开发一个接口可能只需要一天,但写接口测试用例,需要花费好几天的时间。

对于前端程序员,在后端功能没有开发完成之前,他们需要接口返回数据 Mock ,以便不影响开发进度。传统的数据 mock 是把模拟数据写到项目代码里,这么做会带来更多新的问题,首先后端程序员定义的接口随着需求、架构涉及随时发生变化的,如果前端程序员完全按照最初的设计定义mock数据,将会和实际做出来的接口有很大的出入。

没有一个标准化的流程统一处理,这个过程是非常分散的,需要配合非常多的工具,效率比较低。
by @shengting 2020-04-20 14:53 分享 查看详情
JVM源码分析之System.currentTimeMillis及nanoTime原理详解 (club.perfma.com)
有同事问了我一个现象很诡异的问题,说JDK7和JDK8下的System.nanoTime()输出完全不一样,而且差距还非常大,是不是两个版本里的实现不一样,之前我也没注意过这个细节,觉得非常奇怪,于是自己也在本地mac机器上马上测试了一下
by @PerfMa社区 2020-04-14 11:35 分享 查看详情
从一起GC血案谈到反射原理 (club.perfma.com)
首先回答一下提问者的问题。这主要是由于存在大量反射而产生的临时类加载器和 ASM 临时生成的类,这些类会被保留在 Metaspace,一旦 Metaspace 即将满的时候,就会触发 FullGc,已达到回收不再被使用的类对象的目的。具体问题请参考接下来的内容,更好的了解反射的实现原理。
by @PerfMa社区 2020-04-09 10:18 分享 查看详情