升级到Android 4.2.2后出现奇怪的错误 - 活动泄露了IntentReceiver

Ric*_*h S 15 java android memory-leaks

我昨晚将三星Galaxy Tab 2升级到Android 4.2.2,并且发现了一些奇怪的错误,LogCat其中没有出现在我'升级'之前.

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

它似乎只发生在我正在进行的活动中Spinner,并且Spinner已经扩展.

错误如下.

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()?

有没有人见过这个?您是否认为可以忽略它,因为它只发生在我的某个设备上?

---编辑---

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

val*_*cat 9

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

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

如果您需要任何其他细节 - 请到这里


hcp*_*cpl 0

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

示例代码:

@Override 
protected void onPause() {

    super.onPause();
    if(broadcastReceiverInstance != null){
        unregisterReceiver(broadcastReceiverInstance);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您自己尚未注册任何接收器,则系统可能基于弹出的键盘,因此最好隐藏键盘或应用程序中使用的任何其他可能激活触觉反馈的元素。想想自定义键盘、自定义视图……任何东西。为了更详细地检查,我们需要更多代码。