![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android学习总结笔记
文章平均质量分 53
Gary^Guan
这个作者很懒,什么都没留下…
展开
-
对ThreadLocal的理解与使用举例
ThreadLocal(线程本地变量)存储特定线程的数据,为每个线程提供副本数据的数据。有一个比较好的使用例子是线程监听器的传递。当一个线程函数调用栈比较深,以及代码入口多样性。采用ThreadLocal使监听器作为线程内的全局对象,只须调用get就可获得监听器对象。若不采用此方法,则其中一种解决方式需要监听器随着函数栈传递(这种程序设计看起来太累赘糟糕了)。另外一种需要为每个线程提供一个静...原创 2018-12-05 14:12:02 · 212 阅读 · 0 评论 -
Looper与Handler
Looper机制与注意 Looper.prepare 为当前线程创建一个Looper,接着通过Looper.loop来开启消息循环。除此之外,还有一个prepareMainLooper()接口来为主线程,也就是ActivityThread创建Looper。Looper有一个接口,getMainLooper(),通过他可以在任何地方获取到主线程的Looper。 调用了Looper.loop方法之...原创 2018-12-06 20:21:03 · 255 阅读 · 0 评论 -
AsyncTask与IntentService
Android主线程,也就是UI线程,其最大用途在于运行四大组件以及处理他们和用户的交互。其他耗时操作交给子线程,如网络请求、I/O操作,从Android3.0开始,网络访问必须在子线程中进行,否则将会失败并抛弃异常,避免ANR现象。 Thread、AsyncTask、HandlerThread、IntentService都是线程。AsyncTask是轻量级异步任务类,封装了Thread和Han...原创 2018-12-11 20:32:34 · 338 阅读 · 0 评论