gpt4 book ai didi

android - 使用 LoaderManager 的多个加载器的模式?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:51 28 4
gpt4 key购买 nike

我正在使用 Fragments 和 LoaderManager。我必须启动未知数量的任务,并且它们可能会并行运行(否则我只会重复使用一个加载器)。例如,我有一个 ListView ,每一行可能都有一个按钮,用于将该行的内容保存到网络服务器。用户可以同时发起对多个项目的保存请求。

private int nextId = 0;

private void onClickListener() {
Bundle bundle = new Bundle();
bundle.putNextData(...);
getLoaderManager().initLoader(nextId++, bundle, this);
}

我可以尝试自己记账,所以手动创建一个加载器池并在可能的情况下重用它们,看起来它可能已经由 API 实现了?

谢谢

最佳答案

我认为您不应该使用 Loader 将数据保存到远程服务器。

相反,使用 IntentService或类似于处理“保存”操作队列的东西。通过这种方式,您与 Web 服务器的通信可以进行批处理、折叠(即可以将单个项目的多个排队保存折叠为一个操作),并且如果需要的话将在您的 Activity 生命周期之外继续存在。

IntentService(或同等服务)处理的保存队列也是使用退避重试失败操作的好方法,因为您可以使用 AlarmManager 实现带有指数退避的延迟重试。 .

关于android - 使用 LoaderManager 的多个加载器的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9304594/

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