【背景】
android 3.0 开始引进。
让Activity/fragment 异步加载数据,变得简单。
Loader对于并发,可以用过Loader管理器统一管理,所以更适合批量处理多个异步任务的处理(当然内部仍然是多线程)。
【作用】
让未显示数据的ListView等UI组件或控件先显示,避免出现白屏的尴尬现象。
同时在后台下载数据,等下载完成后再更新ListView组件。
尽管用户不会立刻看到数据,但是也不至于网络速度缓慢或服务器响应不及时而造成假死现象。
【兼容】
类似编写兼容android1.6的fragment,需要导入jar(V类)包。
2.3以前的Activity类没有提供一些Loader的帮助方法,需要让自己的Activity实现类继承 FragmentActivity
【Loaders】
(1) 一个单独线程载入数据。
(2)检测底层数据源,改变的时候,跟新/重新查询
【LoadManager】
startManagingCursor在配置变化(例如横竖屏切换)时,并不会保持Cursor的状态。麻烦的是,每次Activity由于配置变化(比如,简单的横竖屏切换),都会导致Cursor下回并且被重新查询。
LoaderManager就智能多了,当配置变化时,它会保持它里面的Loader们的状态,不需要重新查询数据。
LoaderManager为你初始化、管理、销毁Loaders。
与LoaderManager交互需要实现三个简单的回调方法。
【demo】
http://download.youkuaiyun.com/detail/zgxzgxzg/9365313