昨晚我将三星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()?
有没有人见过这个?您是否认为可以忽略它,因为它只发生在我的某个设备上?
---编辑---
而且,顺便说一句,我没有在任何地方注册任何接收器,所以没有注销。
答案 0 :(得分:9)
我有类似的问题,我在Haptic开发者论坛上提出了这个问题并收到了以下回复:
您看到的例外是无害的警告,操作系统会照顾 释放异常中提到的资源。换一种说法, 无需担心或做任何事情。
如果您需要任何其他详细信息,请go here
答案 1 :(得分:0)
从堆栈跟踪中我会说你的Activity(在这里屏蔽)注册了一个未正确发布的HapticFeedbackBroadcastReceiver
。这通常在onPause()
生命周期钩子中完成,以便在您暂停或关闭Activity
时调用它。
示例代码:
@Override
protected void onPause() {
super.onPause();
if(broadcastReceiverInstance != null){
unregisterReceiver(broadcastReceiverInstance);
}
}
如果您没有自己注册任何接收器,系统可能会弹出一个键盘,因此隐藏键盘或应用中可能使用的任何其他元素可能是个好主意。激活了触觉反馈。想想自定义键盘,自定义视图,......任何东西。要更详细地检查,我们需要更多代码。