android 中异步消息处理主要有四部分组成:Message,Handler,MessageQueue,Looper
- Message:是线程之间传递的消息,内部携带少量的信息,用于不用线程之间交换数据。
- Handler:(处理者)用于发送和处理信息。发送消息一般用Handler中的sendMessage()方法,消息发出后经过辗转处理,最终会传递到Handler的handleMessage()方法中。
- MessageQueue:(消息队列)用于存放所有通过Handler发送的信息,每个线程只会一个MessageQueue对象。
- Looper:每个线程中MessageQueue的管家,调用Looper的loop()方法后,就会进入到一个无限循环中,人后去取出MessageQueue消息,传递到Handler的handleMessage()方法中,每个线程只会有一个Looper对象。
- runOnUiThread()就是一个异步消息处理机制的接口封装。
服务的生命周期
- onCreate()方法会先于onStartCommand()方法执行,注意每次服务的启动都会执行onStartCommand()方法,