gpt4 book ai didi

android - 使用消息或基于接口(interface)的方法从 AsyncTask 返回 List

转载 作者:行者123 更新时间:2023-11-30 02:51:36 25 4
gpt4 key购买 nike

我知道有多种方法可以将一些数据从 AsyncTask 返回到调用 Activity。我可以使用 Handler 中的 Message 对象,或者我可以对 Activity 和我的 使用 Interface-based 方法code>AsyncTask 实现相同的接口(interface)(使用传递数据的方法)。

然后还有其他方法,例如在调用 Activity 时使用 public 方法并将该 Activity 传递给 AsyncTask ,然后用结果数据填充 Activity 的 字段列表。或者从调用 Activity 覆盖 onPostExecute,依此类推。

现在,在内存消耗和执行速度方面,哪种方法最好用?

注意:如果我们采用 SO 专家的评分,我看到评分超过 20k 的人建议使用MessageInterface-based 方法.一些经验不足但仍拥有 10k+ 信用的人建议其他解决方案,如我提到的第三个。这是我困惑的根源,因为他们中没有人提到他们的解决方案有多“重”。

最佳答案

传递 Activity 不是一个好方法。因为那是内存的负担。(所有字段都从以前的 Activity 加载到内存中)。它还使这两个 Activity 紧密结合。

根据场景,前 2 个是正确的方法。

  1. 基于消息的通信会消耗大量的 android 操作系统资源。对于收到的每条消息,操作系统都会查找与其关联的所有处理程序。它主要用于当您的 Activity 必须与各种其他 Activity 以及您的应用程序外部的 Activity 进行通信时。

  2. 在您的情况下,基于接口(interface)/回调方法更为优先。如果您的 Activity 必须在您的应用程序中与更少的 Activity 进行通信。它会消耗更少的内存和 android 操作系统的计算开销

关于android - 使用消息或基于接口(interface)的方法从 AsyncTask 返回 List<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24065855/

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