
Android源码分析
无嘴小呆子
用代码书写这个世界
展开
-
Android中的事件分发机制(下)——View的事件处理
在上篇文章Android中的事件分发机制(上)——ViewGroup的事件分发中,对ViewGroup的事件分发进行了详细的分析。在文章的最后ViewGroup的dispatchTouchEvent方法调用dispatchTransformedTouchEvent方法成功将事件传递给ViewGroup的子View。并交由子View进行处理。那么现在就来分析一下子View接收到事件以后是如何处原创 2016-05-15 19:23:27 · 16268 阅读 · 0 评论 -
Android视图的绘制流程(下)——View的Layout与Draw过程
在上篇文章中Andtoid视图的绘制流程——View的测量对View的Measure过程进行了详细的说明。对于在View的绘制的整个过程中,在对View的大小进行测量以后,便开始确定View的位置并且将其绘制到屏幕上。也就是View的Layout与Draw过程。那么就来看一下是如何实现这两个过程的。View的Layout过程原创 2016-06-11 13:26:55 · 8099 阅读 · 1 评论 -
Android视图的绘制流程(上)——View的测量
View的绘制流程可以分为三大步,它们分别是measure,layout和draw过程。measure表示View的测量过程,用于测量View的宽度和高度;layout用于确定View在父容器的位置;draw则是负责将View绘制到屏幕中。下面主要来看一下View的Measure过程。原创 2016-06-10 22:34:32 · 3464 阅读 · 1 评论 -
AsyncTask使用以及源码分析
在Android中,我们需要进行一些耗时的操作,会将这个操作放在子线程中进行。在子线程操作完成以后我们可以通过Handler进行发送消息,通知UI进行一些更新操作(具体使用及其原理可以查看[Android的消息机制——Handler的工作过程](http://blog.youkuaiyun.com/ljd2038/article/details/50889754)这篇文章)。当然为了简化我们的操作原创 2016-03-19 16:38:42 · 4697 阅读 · 1 评论 -
IntentService——Handler与Service的结合
我们都知道Service是作为后台服务运行再程序中的。但是Service他依然是运行在主线程中的,所以我们依然不能在Service中进行耗时的操作。所以当我们在Service处理时,我们需要在Service中开启一个子线程,并且在子线程中运行。当然为了简化我们的操作,在Android中为我们提供了IntentService来进行这一处理,下面我们就来看一下这个IntentService。原创 2016-03-18 13:57:29 · 9590 阅读 · 3 评论 -
Android的消息机制——Handler的工作过程
在Android系统中,出于对性能优化的考虑,对于Android的UI操作并不是线程安全的。也就是说若是有多个线程来操作UI组件,就会有可能导致线程安全问题。所以在Android中规定只能在UI线程中对UI进行操作。这个UI线程是在应用第一次启动时开启的,也称之为主线程(Main Thread),该线程专门用来操作UI组件,在这个UI线程中我们不能进行耗时操作,否则就会出现原创 2016-03-14 20:54:23 · 11253 阅读 · 15 评论 -
Android的IPC机制(四)—— Messenger的使用及源码分析
在前面几篇中我们详细的介绍了AIDL的使用及原理。在这里我们感觉到AIDL的在使用过程中还是比较复杂的,那么有没有一种简单的方法来实现进程间的通信呢?当然是有的,那就是利用Messenger。Messenger翻译为信使,从他的名字就可以看出这个Messenger就是作为传递消息用的。那么我们就来看一下这个Messenger到底是如何使用的,以及在它内部是如何实现的。原创 2016-02-25 18:22:18 · 3884 阅读 · 0 评论 -
Android的IPC机制(二)——AIDL实现原理简析
上篇说到AIDL的使用方法,我们不能仅仅只是满足对AIDL的使用,那么对于AIDL到底是如何实现的呢?为什么我们只是创建一个AIDL文件,系统就会为我们自动生成一个Java文件,那么这个Java文件里面到底包含了哪些内容呢?我们今天就来研究一下。原创 2016-02-20 20:10:54 · 5499 阅读 · 1 评论 -
Android中的事件分发机制(上)——ViewGroup的事件分发
Android中的事件分发机制也就是View与ViewGroup的对事件的分发与处理。在ViewGroup的内部包含了许多View,而ViewGroup继承自View,所以ViewGroup本身也是一个View。对于事件可以通过ViewGroup下发到它的子View并交由子View进行处理,而ViewGroup本身也能够对事件做出处理。下面就来详细分析一下ViewGroup对时间的分发处理。原创 2016-05-13 13:31:43 · 12785 阅读 · 1 评论 -
Lifecycles源码解读
对于Activity和Fragment的生命周期都不会陌生,同样在我们自己的项目中也会需要做一需要依赖Activity和Fragment生命周期的操作。例如在onSaveInstanceState执行后不可在对Fragment进行操作,又比如我们需要在Activity的onDestroy中做一些释放的操作避免内存泄漏的情况出现。原创 2017-09-14 01:13:36 · 1932 阅读 · 7 评论