Messenger 的使用及源码解析

Messenger 和 AIDL 都是 IPC 的方式,并且 Messenger 底层也是基于 AIDL 的,只不过为了使用更方便就封装成了 Messenger。下面依次说一下 Messenger 的基本使用方式以及对 Messenger 源码进行解析。

自定义 View 之 onMeasure

现阶段的目标就是:好好学习自定义 View 如何实现,只知道理论不行,必须实际攻克这个难题了,做出真正有用的自定义 View 出来。先总结一些关于自定义 View 遇到的问题,结合源码分析会更明确。

说说 getMainLooper

关于 Handler、Looper、MessageQueue,我想大家都了解的差不多了,简单来说就是一个 Handler 对应一个 Looper,一个 Looper 对应一个 Message。那么再想个问题,一个 Handler 可以对应多个 Looper 吗? 一个 Looper 可以对应多个 Handler 吗?

HandlerThread 源码解析

Android 为我们提供好了一个类——HandlerThread,在其内部维护了一个 Looper 对象,通过线程的 start 方法启动后即可创建内部的 Looper 对象,并且此 Looper 对象运行在子线程,我们还可以通过 handlerThread.getLooper() 来取到这个 Looper 对象,免得我们自己创建了。

自己真正读过的好书

网上总是能看到各种推荐的所谓 “程序员必读” 书籍,但这些书籍可能连推荐人本身都没有读过或读完——只是推荐的人多了,自然就成了”好书”而已。下面所列的每一本书,我自己肯定都是从头到尾读完了的,并且觉得大有裨益。

Android 群英传读书笔记

偶然在知乎上看到了关于《Android 群英传》的介绍,感觉还不错,尤其是作者前言中写的内容和我简直心照不宣——Android 学习的瓶颈与进阶,读了快半本了,感觉非常不错,不合适初学者,但绝对适合学习到了瓶颈期,想要突破自我的 Android 开发者,比如我。

JIT 学习笔记

JIT编译器是Java虚拟机(以下简称JVM)中效率最高并且最重要的组成部分之一。但是很多的程序并没有充分利用JIT的高性能优化能力,很多开发者甚至也并不清楚他们的程序有效利用JIT的程度。