Android Studio插件
ButterKnife Zelezny:简化视图绑定
ButterKnife Zelezny 插件自动执行了为 ...
浅谈Fresco编码图片缓存
通过前面的分析我们了解到Fresco中的图片缓存分为3种: 解码图片内存缓存、编...
Android性能优化建议
磁盘
SharedPreferences
我们知道SharedPreferences底层是使用xml文件来实...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Android ANR分析(trace文件的产生流程)
ANR信息获取(trace文件的产生流程)
首先收集需要dump trace的进程并给对应...
JSBridge 技术原理分析
- JSBridge的起源 -
PhoneGap(Codova 的前身)作为 Hybrid 鼻祖框架,是一个开...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...
Rxjava 线程切换原理
前言
rxjava 可以很方便的进行线程切换, 那么rxjava是如何进行线程切换的呢?...
协程 Kotlin Coroutine 初探
协程 kotlin Coroutine
目录:
1. Coroutine 的基本使用
1.1 小结
2. CoroutineSco...
微信为什么使用 SQLite 保存聊天记录?
SQLite 是一个被大家低估的数据库,但有些人认为它是一个不适合生产环境使用的玩具...

