自升级到Android 4.2.2以来出现奇怪的错误 - 活动已泄露意图接收者

2022-09-03 15:36:40

我昨晚将我的三星Galaxy Tab 2升级到Android 4.2.2,并且已经发现了一些奇怪的错误,这些错误在我“升级”之前没有出现。LogCat

我希望它突出显示了我的应用程序中隐藏的错误或内存泄漏,但我找不到任何东西。

它似乎只有在我所在的活动具有 ,并且扩展时才会发生。SpinnerSpinner

错误如下。

Activity uk.co.xxxx.xxxx has leaked IntentReceiver com.immersion.android.haptics.HapticFeedbackManager$HapticFeedbackBroadcastReceiver@41e4bac0 that was originally registered here. Are you missing a call to unregisterReceiver()?

有没有人看到这个?您认为忽略它是安全的,因为它只发生在我的一个设备上吗?

--- 编辑---

而且,顺便说一句,我没有在任何地方注册任何接收器,因此没有什么可以取消注册的。


答案 1

我有类似的问题,我已经在Haptic开发人员的论坛上问了这个问题,并收到了以下回复:

您看到的异常是无害的警告,操作系统将负责释放异常中提到的资源。换句话说,无需担心或做任何事情。

如果您需要任何其他详细信息 - 请转到此处


答案 2

从堆栈跟踪中,我会说您的活动(在此处屏蔽)注册了一个未正确释放的活动。这通常在生命周期挂钩中完成,以便在暂停或关闭 时调用它。HapticFeedbackBroadcastReceiveronPause()Activity

示例代码:

@Override 
protected void onPause() {

    super.onPause();
    if(broadcastReceiverInstance != null){
        unregisterReceiver(broadcastReceiverInstance);
    }
}

如果你尚未自行注册任何接收器,则系统可能基于弹出的键盘,因此最好隐藏键盘或应用中使用的任何其他可能已激活触觉反馈的元素。想想自定义键盘,自定义视图...什么。为了更详细地检查这一点,我们需要更多的代码。


推荐