gradle中使用buildConfigFiled 可以定义一个基本类型常量 在gradle中定义buildConfigField "boole...
我们知道,多线程是Android开发中必现的场景,很多原生API和开源项目都有多线程的内容,这里简单总结和探讨一下常见的多线程切换方式。我们先回...
目录 Android插件化原理oom_adj的具体计算方法ActivityStack/ActivityRecord/TaskRecord关系Bi...
目录 Toast可以在子线程使用估值器和插值器Activity启动过程Intent能传递的数据类型Parcelable和Serializable...
关于ANR,以前只知道Activity、BroadCastReceiver、Service三种组件的ANR时限、一般采用哪些方式避免ANR、以及...
Facebook的Fresco图片框架性能优化最为出名,代码量也最大,拆出来的jar包也多,最基础的功能(gradle引入compile 'co...
用OkHttp很久了,也看了很多人写的源码分析,在这里结合自己的感悟,记录一下对OkHttp源码理解的几点心得。 整体结构 网络请求框架虽然都要...
需求我们知道,AsyncTask其实是Google给出的轻量级异步方案,它要实现的核心在于:轻量,不可重复执行。串行,默认只能一个接一个执行。回...
对于ViewTree的绘制流程,Android开发者都很熟悉了,但如果要从整个系统的全局角度出发,理解Android的界面绘制机制,就需要了解系...
文集作者