首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要发布从LocalBroadcastManager获得的LocalBroadcastManager.getInstance吗?

我需要发布从LocalBroadcastManager获得的LocalBroadcastManager.getInstance吗?
EN

Stack Overflow用户
提问于 2014-01-24 22:40:25
回答 1查看 271关注 0票数 0

http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html不包括发布方法。这是否意味着它将自动进行GC编辑?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-25 00:01:26

LocalBroadcastManager不包括发布方法。这是否意味着它将自动进行GC编辑?

不,不会的。但它也不必这么做。

它从你第一次调用应用程序中任何地方的时候起就会存在,直到你的应用程序进程终止为止。

一个名为staticgetInstance方法返回它所在的类的一个实例,在大多数情况下意味着您正在处理一个辛格尔顿

单例是指在整个应用程序中只存在一次的对象,它们的行为类似于全局变量(通常被认为是坏处 几个原因)。

如果注册接收广播的代码中的位置使用与广播发送的广播管理器不同的广播管理器,则整个广播机制将崩溃。代码确保每个人都使用相同的代码,使其成为一个单例。

另一方面,如果您将活动上下文作为参数,LocalBroadcastManager将不会泄漏您的活动上下文。它将调用context.getApplicationContext()来获取应用程序上下文,应用程序上下文本身是一个可以安全地永远保持引用的单例。

代码创建单例的方式以及如何处理单例中的上下文,将在本文的进一步详细信息中描述:背景,什么背景? (注意:以线程安全的方式-遗憾的是,在那篇文章中缺少了)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21343793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档