首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓- IntentReceiver泄漏/泄漏/泄漏

安卓- IntentReceiver泄漏/泄漏/泄漏
EN

Stack Overflow用户
提问于 2012-10-01 10:56:33
回答 1查看 658关注 0票数 2

由于IntentReceiver 在某些情况下没有被称为,所以被泄露。

代码语言:javascript
复制
@Override
 protected void onDetachedFromWindow() {
  super.onDetachedFromWindow();
  mContext.unregisterReceiver(mScreenStateReceiver);
 }

这是在大量测试设备和Android版本中发现的,最多可达Android4.1.1。我使用旧版以及最新的Eclipse4.2.1进行编译,使用了最多20.0.3的各种SDK工具版本。

示例LogCat可在以下位置找到:https://developers.google.com/mobile-ads-sdk/community/discussion?place=msg%2Fgoogle-admob-ads-sdk%2FVYSun9iD8tg%2FL3t6oSlrCbYJ

代码语言:javascript
复制
Activity myActivity has leaked IntentReceiver com.adsdk.sdk.banner.AdView that
was originally registered here. Are you missing a call to unregisterReceiver()?

这是一个已知的bughttp://code.google.com/p/android/issues/detail?id=29399

有解决办法吗?谢谢你提前解决了这个难题!

克里斯蒂安

EN

回答 1

Stack Overflow用户

发布于 2013-11-21 04:00:26

我建议不要依赖'onAttachedToWindow‘和'onDetachedFromWindow’。您可以添加像“init”和“do”这样的配对操作来执行诸如“注册”和“注销”BroadcastReceiver这样的工作。然后,您可以完全控制以避免这种类型的泄漏。或者,您可以显式地调用onDetachedFromWindow。

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

https://stackoverflow.com/questions/12671941

复制
相关文章

相似问题

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