loaders帮助异步地从数据源获取数据。我们可以使用Handlers达到相同的效果,我们可以启动一个线程或执行一个Executor并可以获取该线程中的数据。提取数据后,我们可以使用UI处理程序的Message机制更新UI。
然后,当我们可以使用Handlers实现相同的功能时,为什么还要对复杂的加载程序进行编码呢?

最佳答案

引入了加载程序,以使其更容易在android平台上实现正确的数据加载。这表示:

  • 在后台线程上进行所有繁重的工作
  • 安全地在UI中引入已加载的数据
  • 缓存数据,这意味着提高
  • 的速度
  • 加载程序可以在Activity生命周期之外使用,因此,如果您进行了配置更改,则数据不会被破坏
  • 一旦您的数据存储更改了,就会重新加载
  • 加载程序

    使用Handlers,Executors或AsyncTasks时并未考虑所有上述几点。您将必须自己管理它,这是android开发人员在Loaders实现中所做的工作。

    就是使用AsyncTask加载一些数据需要您注意屏幕旋转,即。您必须以某种方式保留对AsyncTask的引用,一旦由于屏幕旋转而重新创建 Activity ,该引用仍可能在后台执行某些操作。

  • 10-07 19:33
    查看更多