一些小的知识点

方法(method)和函数(function)的区别

函数是独立的,与对象和类无关,需要显示的传递数据

方法与对象和类有关,依赖对象而调用,可以直接处理对象上的数据即隐式传递数据

Android中的Handler、Looper、Message

Handler、Looper、Message这三者都与Android异步消息处理线程相关。

异步消息处理线程启动后会进入一个无限的循环体,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环,若消息队列为空,线程则会阻塞等待。

Looper负责的就是创建一个MessageQueue,然后进入一个无限循环体不断从该MessageQueue中读取消息,而消息的创建者就是一个或多个Handler。

Android HandlerThread

HandlerThread类是一个线程专门处理Handler消息,依次从Handler的队列中获取信息,逐个进行处理,保证安全,不会出现混乱引发的异常。HandlerThread继承于Thread,所以它本质是个Thread。与普通Thread的差别在于,它有个Looper成员变量。