Android
加油吧 王小二
Java
展开
-
Android消息机制的原理剖析—闭环总结
前面分篇介绍了Hanlder、Messagequeue、Looper、Message、消息池等消息机制的基本单元,源码细节太多,本着“深入浅出”的原则,概述消息机制基本流程,将消息机制的原理闭环。我将消息机制概括分为消息的获取,发送、排队、派送、处理、回收六大步骤,下面是流程图。原创 2016-06-19 00:14:48 · 4406 阅读 · 5 评论 -
MessageQueue&Message Pool—消息的读写、删除和回收
1、MessageQueue的数据结构翻译为消息队列,但实际的数据结构是单向链表结构,下文中仍以消息队列称之;Message中有个重要的属性Message next;next指向另外一个Message。在MessageQueue中Message A的next指向B,B的next指向C;这样 A B C就组成了单向链表结构,它们是以时间排序的,其中A为header,表示最先要处理的消息,C是原创 2016-06-12 02:50:37 · 3168 阅读 · 2 评论 -
Android消息机制原理剖析—Handler篇
介绍Handler的本质,发送消息和接收的消息的本质剖析。原创 2016-06-11 23:27:55 · 1033 阅读 · 0 评论 -
Android消息机制剖析—Looper篇
本篇文章在android6.0基础上分析。Looper在消息机制中扮演的角色是创造无限循环从Messagequeue中取得消息然后分发。一、Looper的创建只要调用Looper.prepare()方法之后,然后再Looper.loop()即可,这里两个方法都是static方法,表面没有任何Looper对象的参与,具体如何先来看下prepare()这个方法: pub原创 2016-06-10 23:21:15 · 1187 阅读 · 0 评论 -
AsyncTask中的线程池
今天碰到Webveiw初始化时候居然跟AsyncTask的线程池有关,做些整理。1、线程池AsyncTask的执行有两种execute和executeOnExecutor,一种是使用默认线程池,一个是要设置线程池,AsyncTask本身提供了两个全局的线程池SERIAL_EXECUTOR:同步线程池,一次执行一个。THREAD_POOL_EXECUTOR:异步线程池,一次执行多原创 2016-08-04 15:58:05 · 2218 阅读 · 2 评论