目录
ArrayList 和LinketList区别?hashmap的实现原理?hashmap与hashtable的区别?
ButterKnife与Xutils注解的区别?以及Retrofit中的注解是如何处理的?
2020.1.26
Android提供了四种常用的操作多线程的方式
1. Handler+Thread
2. AsyncTask
3. ThreadPoolExecutor
4. IntentService
Handler+Thread
Android主线程包含一个消息队列(MessageQueue),该消息队列里面可以存入一系列的Message或Runnable对象。通过一个Handler你可以往这个消息队列发送Message或者Runnable对象,并且处理这些对象。每次你新创建一个Handle对象,它会绑定于创建它的线程(也就是UI线程)以及该线程的消息队列,从这时起,这个handler就会开始把Message或Runnable对象传递到消息队列中,并在它们出队列的时候执行它们。
Handler Thread原理图
Handler可以把一个Message对象或者Runnable对象压入到消息队列中