首页 > 代码库 > LoaderManager与Loader使用理解

LoaderManager与Loader使用理解

一、LoaderManager与Loader出现背景

  LoaderManager与Loader是在Android3.0以后出现的用于数据异步加载的类库。出现的原因就是为了使得我们的用户有更好的体验。因为在3.0以前每次我们加载数据都是在UI线程里面进行,并且Android相应的API也提供了相应加载数据的方法。这就是为什么3.0以前的系统打开App的特别卡,甚至有时候会打不开。其实我们都知道,数据的加载最好放到一个线程里面实现,让数据的加载不要影响到UI的渲染。(用户看到动画慢慢变化心里也是很踏实的)。虽然知道,但是有一些问题是我们这些初级开发者所考虑的,其一虽然知道在线程里面进行加载,可是如何实现?如何显示到UI?数据不同步肯定会出错,并且假如数据源改变了我们应该如何通知我们的线程,这也是个复杂的问题,基于这些问题,所以即使我们知道应该在线程中加载数据,也会觉得心有余而力不足。于是谷歌给我们所需的东西进行了封装。对于Loader,我们亲切的叫它加载器。好处就在于数据加载一定是异步的,并且一旦数据源发生改变就会立即有通知。

二、LoaderManager与Loaders的关系

  他们之间的关系其实从字面上就可以看得出一个是Manager(管理者)一个是被管理者,一个LoaderManager管理多个Loaders 。就好比老板手下的一帮人帮老板活,工人帮生产出的货物,由老板交给用户。用户就是我们的Activity或者Fragemnt,这也就是为什么一个Loaders的应用必须要有Activity或者Fragemnt的存在,也是为什么官网上说LoaderManager是一个桥梁的作用。用户就知道我问LoaderManager要数据,LoaderManager呢自然问下面的伙计(Loaders)要东西。LoaderManager其实并不知道Loader们如何得到数据。其实也不用知道。

 

LoaderManager与Loader使用理解