gpt4 book ai didi

android - 为什么在 Activity 中注册 IabBroadcastReceiver 是个坏主意?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:45:05 24 4
gpt4 key购买 nike

在 Google 的应用内计费 Trivial Drive 示例中,在成功完成 IabHelper 设置后,注册了一个 BroadcastReceiver 以监听有关更新购买的消息。

然而,作者包含了以下注释:

Note: registering this listener in an Activity is a bad idea, but is done here because this is a SAMPLE.

为什么这对这个听众来说是个坏主意?

此注释可以在MainActivityonCreate 方法中的OnIabSetupFinishedListener 定义中找到。在source code for the Trivial Drive sample

最佳答案

我的猜测是,如果 BroadcastReceiverActivity 中,它可能会被销毁。 BroadcastReceiver 通常在 list 中声明并且不是由开发人员手动实例化,而是由操作系统实例化。如果它在代码中注册,Android 操作系统对 BroadcastReceiver 的唯一引用是与它包含的 Activity 的生命周期相关的特定实例。如果那个Activity 将终止/完成/停止以节省内存,然后内部声明的 BroadcastReceiver 很可能会停止接收更新。

关于android - 为什么在 Activity 中注册 IabBroadcastReceiver 是个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33851794/

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