gpt4 book ai didi

android - 这是实现 AsyncTask 的最佳方式吗?或者有更好的方法吗?

转载 作者:搜寻专家 更新时间:2023-11-01 09:09:15 24 4
gpt4 key购买 nike

我正在尝试编写一个 AsyncTask 通用包。到目前为止,我所做的是从另一个 Activity 调用一个 Activity ,将 Intent 中的实例发送到该 Activity 。此 Activity 是调用 AsyncLoader.execute() 文件的 AsyncTask 的一部分。我这样做是为了不丢失父 Activity 在布局上设置的任何数据。

另一种方法是调用 Intent 并将数据从 AsyncActivity 返回到父 Activity。但是,这两种方法都比在父 Activity 中实现 AsyncTask 慢。

但是,这会使代码困惑。那么,有没有更好的实现方式呢?

最佳答案

听起来您的 Activity 和 AsyncTask 之间的紧密耦合导致了您正试图通过一种奇怪的解决方法来克服的问题。

根据我的经验,设计需要 AsyncTask 的 Activity 的最佳方法是:

  • 让你的 AsyncTask 远离你的 Activity ,即创建一个单独的类扩展了 AsyncTask。这允许您重用 AsyncTask多个 Activity 之间,并使其更容易测试。
  • 如果您需要将数据返回给您的 Activity ,请使用监听器并在您的 Activity 上实现监听器。然后将您的监听器传递给创建 AsyncTask 的类。

Intent 之间的数据传递应保持在最低限度,如果您需要从单独的 Activity 中重用相同的 AsyncTask,您应该按照上述步骤再次执行任务。如果您要在应用程序的整个生命周期中调用它,请考虑使用 service相反。

关于android - 这是实现 AsyncTask 的最佳方式吗?或者有更好的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9548147/

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