gpt4 book ai didi

android - 是否存在使用 AsyncTask 优于 AsyncTaskLoader 的场景?

转载 作者:行者123 更新时间:2023-11-29 16:46:15 24 4
gpt4 key购买 nike

我目前正在研究加载程序以及它们如何克服应用程序生命周期中的屏幕方向等变化,到目前为止,据我所知,AsyncTaskLoader 的工作与 AsyncTask 相同,甚至更好。因此,AsyncTask 是否应该被视为过时的,或者它是否为开发人员提供了一些隐藏的优势?

最佳答案

I am currently studying about Loaders and about how they could overcome changes such as screen orientation during application lifecycle

架构组件对 View 模型和 LiveData 的支持是 Google 当前解决加载器试图解决的问题的方向。

AsyncTaskLoader does the same job as AsyncTask and even better

请注意,AsyncTaskLoader 使用了一个 AsyncTask

should not AsyncTask be considered obsolete

是的,只要我们有其他模式和库可供使用(例如,RxJava、LiveData)。也就是说,正确使用 AsyncTask 是一个不错的选择。挑战在于正确使用它(例如,从保留的 fragment 中,小心避免与后台线程上的托管 Activity 交互)。

does it provide the developers with some hidden advantages?

您的论点似乎是“远洋类轮比划艇具有更多功能,所以我们不应该认为划艇已经过时了吗?”。远洋类轮有其成本,远洋类轮不能做划艇可以做的所有事情(例如,在浅水中航行,被拖在卡车后面)。

加载器被设计为——就它们曾经有过的“设计”而言——是为了:

  • 在后台加载数据,通常通过 AsyncTask
  • 在配置更改时保留该数据
  • 当请求的数据发生变化时自动提供更新

不是所有的东西都需要那个。例如,加载器模式针对读取操作(我们实际“加载”数据),但它对写入操作(我们正在更改数据的地方)没有真正帮助。然而,即使我们进行了配置更改,我们仍然希望异步执行写操作并找出结果。您可以将写操作压缩到加载器中,但这并不是天作之合。使用 AsyncTask 或其他东西而不是加载器会更自然。

关于android - 是否存在使用 AsyncTask 优于 AsyncTaskLoader 的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48043374/

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