2020-02-19

2020-02-19  本文已影响0人  NullPointe_8e82

Handler机制中,由于一个Looper对应着一个线程,所以将Looper存进ThreadLocal最合适不过了

(个人理解,大神勿喷~而且希望有更好的解释)

这个怎么理解呢?就是我们的handler可以在不同线程中创建,如果单纯的在内部创建一个Map,每创建一个Handler就会创建一个Map,你想利用静态static节省内存只创建一个Map,不过因为很多地方使用了静态方法,最终会导致不同线程导致数据流向错误,这样需要加很多的锁和变量,所以谷歌为我们创建了ThreadLocal。

上一篇 下一篇

猜你喜欢

热点阅读