gpt4 book ai didi

android - 当应用程序在 AsyncTask 执行期间进入后台时,它应该做什么?

转载 作者:可可西里 更新时间:2023-11-01 19:06:33 25 4
gpt4 key购买 nike

我有一个应用程序使用 AsyncTasks 调用 REST 服务器。

想象一下,在加载期间(这是 AsyncTask 转到 REST 服务器并将数据获取到下一个屏幕)用户按下主页。

推荐内容:

  • 取消当前的 AsyncTask 并在恢复 Activity 时重新启动

  • 继续 AsyncTasks,但通过检查应用程序是否在后台来避免 startActivity(以避免在将应用程序发送到后台后出现新 Activity 的前台)。然后 onResume 发送到下一个 Activity

您应该预见的最坏情况:

  1. 应用程序进入后台并由于内存不足而被杀死
  2. 异步任务因超时或其他 REST 错误而失败

两者之后,用户返回到应用...

最佳答案

好吧,我会推荐服务,它应该使用 AsyncTask 来完成它的工作。服务会将您的 Activity 与方向更改或用户退出隔离开来。 AsycnTask 将与被阻塞的 UI 线程隔离。但是请确保在使用完 REST api 后退出服务。

这将使您两全其美。此外,如果您不使用 DB 作为本地缓存,那么您也可以尝试这样做。因此,即使用户离开,该服务也会将获取的数据存储在数据库中,当用户回来时,您可以快速显示屏幕。

编辑:只想添加 IntentService 很容易实现。

尝试 Design Patterns for REST clients on Android by Google更详尽的解释

关于android - 当应用程序在 AsyncTask 执行期间进入后台时,它应该做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8818854/

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