关于Looper的说明

在主线程中获取looper时,通过Looper.myLooper()和Looper.getMainLooper()获取的looper一样,获取的都是UI主线程的looper;

在子线程中获取looper是,通过Looper.myLooper()和Looper.getMainLooper()获取的looper不一样,前者获取的是子线程的looper,且必须执行Looper.prepare()以获取消息队列,后者获取的是UI主线程的looper。

 

注:

1、凡想获取子线程的looper都必须先通过Looper.prepare()获取消息队列,而如果在UI主线程中不需要执行此操作,   因为主线程自动创建了消息队列;

2、不管是子线程还是主线程,都需要消息队列,只不过子线程的消息队列要自己创建,主线程已经自动创建,不需自己再创建。

 

你可能感兴趣的:(UI)