在Google的应用内结算Trivial Drive示例中,a BroadcastReceiver已注册,可在IabHelper设置成功完成后收听有关更新购买的消息.
然而,作者包括以下注释:
注意:在Activity中注册这个监听器是一个坏主意,但这里完成,因为这是一个SAMPLE.
为什么这个听众这个坏主意呢?
此注释可以在Trivial Drive示例的源代码OnIabSetupFinishedListener中的onCreate方法的定义中找到MainActivity
我的猜测是,BroadcastReceiver如果它位于Activity. BroadcastReceiver通常在清单中声明,并且不是由开发人员手动实例化,而是由操作系统手动实例化。如果它在代码中注册,则 Android 操作系统对其的唯一引用是与它所包含的BroadcastReceiver生命周期相关联的特定实例。如果该实例死亡/完成/停止以节省内存,则内部声明将最有可能停止接收更新。ActivityActivityBroadcastReceiver
| 归档时间: |
|
| 查看次数: |
1439 次 |
| 最近记录: |