gpt4 book ai didi

android - 如果我创建新的加载器,以前的加载器会死掉还是会存储在内存中?

转载 作者:行者123 更新时间:2023-11-29 01:07:31 26 4
gpt4 key购买 nike

我有一个 Loader 可以为我的 RecyclerView 下载数据。我已将 SwipeReftesh 添加到此列表中,但我不知道如果我向下滑动几次会出现什么情况,例如,几次。以前的 Loader 会死掉还是会存储在内存中?它看起来像这样:

refreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh() {
initializeDiscoverLoader();
refreshLayout.setRefreshing(false);
}
});


private void initializeDiscoverLoader() {
LoaderManager loaderManager = getLoaderManager();
loaderManager.initLoader(R.integer.MOVIE_LOADER_DISCOVER_ID, null, MovieActivity.this);
}

最佳答案

RefreshLayout 仅显示进度指示器并调用应用的回调方法。您在回调方法中所做的与 RefreshLayout 无关。因此,如果您之前有任何加载程序已经在运行,它们将继续运行直到完成。

使用相同的加载器对象加载数据总是好的。这样一来,在任何给定时间只会运行一个加载程序对象。您不会同时运行许多加载程序对象。

此外,您还使用了 refreshLayout.setRefreshing(false)里面onRefresh()这不是必需的,因为 Android 在 onRefresh() 时会调用它自己已经完全执行。

引用 - 来自文档 -

  1. 当用户做出滑动手势时,系统会显示进度指示器并调用您应用的回调方法。您的回调方法负责实际更新应用的数据。

  2. 当用户使用响应刷新手势中描述的滑动 Action 触发刷新时,您不需要调用 setRefreshing()

关于android - 如果我创建新的加载器,以前的加载器会死掉还是会存储在内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45840396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com