首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >“LoaderManager”中“initLoader”和“restartLoader”的区别

“LoaderManager”中“initLoader”和“restartLoader”的区别
EN

Stack Overflow用户
提问于 2018-03-26 02:10:54
回答 2查看 0关注 0票数 0

我完全不明白initLoaderrestartLoader的职能LoaderManager:

  • 他们都有相同的签名。
  • restartLoader如果加载程序不存在,也会创建一个加载程序(“在此管理器中启动一个新的或重新启动一个现有的Loader”)。

这两种方法之间有什么关系吗?打电话restartLoader总是打电话initLoader是吗?我能打电话吗restartLoader不用打电话initLoader是吗?打电话省省吗?initLoader两次刷新数据?我什么时候应该使用其中之一和(重要!)为什么?

EN

Stack Overflow用户

发布于 2018-03-26 11:55:30

呼叫initLoader当Loader已经创建(例如,在配置更改之后)告诉LoaderManager将Loader的最新数据交付给onLoadFinished马上。如果尚未创建加载程序(例如,当活动/片段第一次启动时),则调用initLoader告诉LoaderManager调用onCreateLoader创建新的装载机。

呼叫restartLoader销毁已存在的Loader(以及与其相关的任何现有数据),并通知LoaderManager调用onCreateLoader来创建新的装载机并启动一个新的负载。

文档也非常清楚地说明了这一点:

  • initLoader确保装载机已初始化并处于活动状态。如果加载程序不存在,则创建一个加载程序,并启动加载程序(如果活动/片段当前已启动)。否则,最后创建的加载程序将被重用。
  • restartLoader在这个管理器中启动一个新的或重新启动一个现有的Loader,注册对它的回调,并且(如果活动/片段当前已经启动)开始加载它。如果先前启动了具有相同id的加载程序,则在新加载程序完成其工作时将自动销毁该加载程序。回调将在旧加载程序销毁之前交付。
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档