2020-02-19
2020-02-19 本文已影响0人
NullPointe_8e82
Handler机制中,由于一个Looper对应着一个线程,所以将Looper存进ThreadLocal最合适不过了
(个人理解,大神勿喷~而且希望有更好的解释)
这个怎么理解呢?就是我们的handler可以在不同线程中创建,如果单纯的在内部创建一个Map,每创建一个Handler就会创建一个Map,你想利用静态static节省内存只创建一个Map,不过因为很多地方使用了静态方法,最终会导致不同线程导致数据流向错误,这样需要加很多的锁和变量,所以谷歌为我们创建了ThreadLocal。