gpt4 book ai didi

Android IntentFilter 性能

转载 作者:行者123 更新时间:2023-11-30 03:11:14 26 4
gpt4 key购买 nike

当 ListView fragment 或其他(嵌套) fragment 中发生某些事情时,我想刷新 ListView(自定义类)中的特定行。

我目前正在使用这种模式(NewsNewsView 显示的自定义类):

  • NewsView 构造函数:
    • 使用 IntentFilter 注册 BroadcastReceiver,例如 "UPDATE_NEWS_ITEM"
    • 在 onReceive 中,我反序列化 News 项目并比较项目 ID
  • 行动发生在某处
    • 我创建 Intent("UPDATE_NEWS_ITEM"),并将 News 项目添加为 Serializable Extra。

这意味着每个 NewsView 都必须从 Intent 中反序列化 News,因此这种方法会产生一些开销。

另一方面,我可以为每个带有 IntentFilter 的 NewsView 注册一个广播接收器,例如 "UPDATE_NEWS_ITEM_154",其中 154 是项目的 ID。这样广播 Intent 就只到达一个接收者,看起来更有效。

注册这么多广播接收器有什么缺点吗?或者 Android 会很乐意处理可能的数百个?

最佳答案

如果您仅在您的应用程序内广播,请考虑通过 LocalBroadcastManager 使用 Intent ,而不是在您的 list 中使用 Intent 过滤器广播 Intent 。

据我所知,这些直接转换为函数调用,不通过操作系统队列。

更多关于 LocalBroadcastManager here

关于Android IntentFilter 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949721/

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