240 发简信
  • LeakCanary 学习笔记

    LeakCanary 在 Appliaction 中初始化 LeakCanary 创建一个 RefWatcher 对象 监听 Activity ...

  • 120
    Fragment OnBackPressedDispatcher 监听Activity的onBackPressed

    需求场景描述 在目前的比较常见的一种场景是,在 App 的首页如果点击 back 键会 toast 提示用户再点击一次是退出 App。 例如如下...

  • 序列化与反序列化——Serializable工作原理

    什么是序列化和反序列化 序列化与反序列化的概念 从广义上讲,数据序列化就是将数据结构或者是对象转换成我们可以存储或者传输的数据格式的一个过程,在...

  • 120
    Java数据结构_LinkedHashMap 的工作原理

    缓存算法的基本概念 源码基于JDK1.7 缓存机制 内存缓存 本地缓存 网络缓存 本节记录的是内存缓存 什么是内存缓存? 将数据写到了容器(li...

  • Kotlin自动findViewById神器-LayoutContainer

    概念 LayoutContainer 是一个用于自动解析布局并且自动通过findViewById给对应id的View 进行初始化的接口。 应用场...

  • 120
    Kotlin ViewModel KTX-内存泄露

    协程内存泄露-ViewModel ViewModel KTX 中提供了 viewModelScope ,目的是为了减少协程内存泄露。 如何使用 ...

  • 120
    组件化-使用 APT 遇到的一点问题

    我相信大家都用过 APT ,特别是在组件化这一块,我看到很多开源的组件化项目都是使用 APT 去做路由表这一块的,我最近做的时候也出现了一些问题...

  • Gradle-初始化配置阶段优化

    1、前言 现在的开发模式大部分都是组件化的开发模式了,因此我们可以看到工程会划分很多个 module ,根据 Gradle 的构建流程来看会经历...

  • Gradle-优化脚本【小坑记录】

    1、前言 你是不是想过在根目录/build.gradle 根据一个变量来确定是否依赖某一个 classpath 阿? 举个我们项目中的栗子:因为...