加载器
我们知道,在Android开发中,一切耗时的操作都不应该放在UI主线程,而应当通过异步机制实现。Android在3.0 后引入了加载器,支持轻松在 Activity 或片段中异步加载数据,为官方所推荐。
- 加载器具有以下特征
- 可用于每个 Activity 和 Fragment
- 支持异步加载数据
- 监控其数据源并在内容变化时传递新结果
- 在某一配置更改后重建加载器时,会自动重新连接上一个加载器的游标。 因此,它们无需重新查询其数据(由安卓系统框架提供,有单独生命周期,会被自动回收且不必在后台运行)
- 以上叙述部分参考Loader官方指南,欲知Loader详情请点击查看。
- 为什么不要再UI主线程中进行耗时操作?英文原文&中文译文
- 本文将基于MVP架构对Loader进行分析,关于官方MVP架构可以参考我的另一片博文《Android官方MVP示例学习分析》
加载器工作机制
- 我们在提到Loader的时候会涉及到以下几个类/接口,下面对几个类/接口的简单解释,具体请见官方指南:
- LoaderManager:用于管理一个或多个Loader实例
- LoaderManager.LoaderCallbacks:响应Loader和LoaderManager触发的各种事件
- Loader:具体数据加载器,不具有异步加载功能
- AsyncTaskLoader:继承