BR 技术头条 技术链接、资讯与社区分享流
bl blog.csdn.net / 2015-10-04 11:42 / by @工匠若水

Android应用Loaders全面详解及源码浅析

赞过的人

@技术头条

讨论 · 1 条

@技术头条 2015-10-05 09:38

在Android中任何耗时的操作都不能放在UI主线程中,所以耗时的操作都需要使用异步实现。同样的,在ContentProvider中也可能存在耗时操作,这时也该使用异步操作,而3.0之后最推荐的异步操作就是Loader。它可以方便我们在Activity和Fragment中异步加载数据,而不是用线程或AsyncTask,他的优点如下:

提供异步加载数据机制;
对数据源变化进行监听,实时更新数据;
在Activity配置发生变化(如横竖屏切换)时不用重复加载数据;
适用于任何Activity和Fragment;
PS:由于在我们现在的多个项目中都大量的使用了Loader来处理数据加载(而且由于粗心跳过几个坑,譬如Loader ID重复导致数据逻辑异常、多线程中restartLoader导致Loader抛出异常(最后保证都在UI线程中执行即可)等),所以接下来我们进行下使用及源码浅析。

发表评论