一、几个关键概念 1、MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方。每一个线程最多只可以拥有一个MessageQueue数据结构。 创建一个线程的时候,并不会自动创建其MessageQueue。通常使用一个Looper对象对该线程的MessageQueue进行...
分类:
移动开发 时间:
2015-11-15 20:36:35
阅读次数:
272
对于Android的Message机制主要涉及到三个主要的类,分别是Handler、Message、Looper;首先对每个类做一个简单介绍;然后再介绍所谓的Android的Message机制是如何实现的,最后给了一个示例。一、介绍三个相关的类1、 Handler主要有两个用途:首先是可以定时处理或...
分类:
移动开发 时间:
2015-11-14 16:26:02
阅读次数:
284
AsyncTask: 3个类型(Params,Progress和Result),4个步骤(onPreExecute(),doInBackground(Params…),onProgressUpdate(Progress…),onPostExecute(Result))Android的AsyncTas...
分类:
移动开发 时间:
2015-11-14 11:02:46
阅读次数:
322
很多人面试的时候,都知道Handler 极易造成内存泄露,但是有一些讲不出来为什么,好一点的 会告诉你looper msg 之类的,但是你再往下问 为什么msg持有handler handler为什么持有activity'的引用的时候 他们就答不出来了。这里我通过几个简单的例子 和极少部分的源码 来...
分类:
移动开发 时间:
2015-11-06 19:26:12
阅读次数:
362
1、创建一个类为CrashHandler 1 import android.content.Context; 2 import android.os.Looper; 3 import android.util.Log; 4 import android.widget.Toast; 5 ...
分类:
移动开发 时间:
2015-11-04 09:23:09
阅读次数:
327
handler:绑定到一个线程上,一个线程可以有多个handlerlooper:线程跟looper是一一对应的,所以looper不能被调用两次否则会抛出异常messge:handler利用message来携带消息messagQueue:用来状态message,一个looper对应一个消息队列如何来判...
分类:
移动开发 时间:
2015-10-27 17:30:34
阅读次数:
268
1.解释下在单线程模型中Message,Handler,Message Queue,Looper之间的关系。 主线程中,主线程启动时会调用Looper.prepare()方法,会初始化一个Looper,放入Threadlocal中,接着调用Looper.loop()遍历Message Queue;....
分类:
移动开发 时间:
2015-10-20 23:59:26
阅读次数:
484
前言网络编程不难,主要要掌握几点就可以。使用HttpURLConnection进行网络编程。如果在主线程进行网络编程操作,android会抛出异常,要另起一个线程进行网络代码逻辑操作。更新UI界面,要用handler和message。了解looper机制。熟悉get请求和post的请求,并知道二者的...
分类:
移动开发 时间:
2015-10-19 09:18:52
阅读次数:
235
画图说明:我在学习和使用handler的时候,对与它相关的源代码进行的研究,说到handler机制,就要设计到5个类(画图),Handler、MessageQueue、Looper、Thread、还有一个Message;Message是消息,它由MessageQueue统一列队,由Handler处理...
分类:
其他好文 时间:
2015-10-18 18:29:56
阅读次数:
144
概述:Android使用消息机制实现线程间的通信,线程通过Looper建立自己的消息循环,MessageQueue是FIFO的消息队列,Looper负责从MessageQueue中取出消息,并且分发到消息指定目标Handler对象。Handler对象绑定到线程的局部变量Looper,封装了发送消息和...
分类:
其他好文 时间:
2015-10-11 06:45:39
阅读次数:
191