- 博客(3)
- 收藏
- 关注
原创 AsyncTask与IntentService
Android主线程,也就是UI线程,其最大用途在于运行四大组件以及处理他们和用户的交互。其他耗时操作交给子线程,如网络请求、I/O操作,从Android3.0开始,网络访问必须在子线程中进行,否则将会失败并抛弃异常,避免ANR现象。Thread、AsyncTask、HandlerThread、IntentService都是线程。AsyncTask是轻量级异步任务类,封装了Thread和Han...
2018-12-11 20:32:34
387
原创 Looper与Handler
Looper机制与注意Looper.prepare 为当前线程创建一个Looper,接着通过Looper.loop来开启消息循环。除此之外,还有一个prepareMainLooper()接口来为主线程,也就是ActivityThread创建Looper。Looper有一个接口,getMainLooper(),通过他可以在任何地方获取到主线程的Looper。调用了Looper.loop方法之...
2018-12-06 20:21:03
319
原创 对ThreadLocal的理解与使用举例
ThreadLocal(线程本地变量)存储特定线程的数据,为每个线程提供副本数据的数据。有一个比较好的使用例子是线程监听器的传递。当一个线程函数调用栈比较深,以及代码入口多样性。采用ThreadLocal使监听器作为线程内的全局对象,只须调用get就可获得监听器对象。若不采用此方法,则其中一种解决方式需要监听器随着函数栈传递(这种程序设计看起来太累赘糟糕了)。另外一种需要为每个线程提供一个静...
2018-12-05 14:12:02
251
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人