2013-08-19 11 views
15

私は昨晩私のSamsung Galaxy Tab 2をAndroid 4.2.2にアップグレードしてから、アップグレードされる前に表示されなかったLogCat 'Android 4.2.2にアップグレードしてから奇妙なエラーが発生しました - アクティビティがリークしましたIntentReceiver

私のアプリケーションでは、隠れたバグやメモリリークが強調されていたと思っていましたが、何も見つかりませんでした。

私の活動がSpinnerで、Spinnerが展開されている場合にのみ発生するようです。

エラーは以下のとおりです。

Activity uk.co.xxxx.xxxx has leaked IntentReceiver com.immersion.androi[email protected]41e4bac0 that was originally registered here. Are you missing a call to unregisterReceiver()?

誰がこれを見ていますか?私のデバイスのいずれかでのみ発生しているので無視するのが安全だと思いますか?

---編集---

そして、ついでに、私はどこでも任意のレシーバを登録していないよ、そう登録を解除するものは何もありません。

+2

私はちょうど今日、アップグレードと同じエラーを見ています。受信者もここに登録されていません。 – celoftis

+0

@celoftisあなたはスピナーコントロールも含んでいますか? –

+0

いいえ、私はこれをexpereiencingしている活動のスピナーはありません... – celoftis

答えて

0

スタックトレースから、あなたのアクティビティ(ここでマスクされている)が正しくリリースされなかったHapticFeedbackBroadcastReceiverを登録したと言います。これは通常onPause()ライフサイクルフックで行われ、Activityを一時停止または閉じるときに呼び出されます。

例コード:

@Override 
protected void onPause() { 

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

あなたはどの受信機を自分を登録していない場合は、キーボードを隠すために、良いアイデアや他の要素かもしれないので、多分システムがポップアップキーボードに基づいていますハプティックフィードバックが有効になっているアプリ内で使用されます。カスタムキーボード、カスタムビュー、...何かを考えてみてください。詳細を確認するには、より多くのコードが必要です。

9

私は同様の問題を抱えていると私は触覚開発者フォーラムでこの質問をして、次の返信受け取った:あなたが見例外は無害の警告で、OSは解放の世話 がかかります

を例外で言及されたリソース。つまり、 について心配する必要はありません。

あなたが他の詳細が必要な場合は

- go here

+0

これらは正確に慰めの言葉ではありません。漏れは、シャットダウン時に容易に検出され、クリーンアップされますが、それまでは、時間の経過とともに蓄積され、リソースを吸い上げる可能性があります。これは、サービス拒否攻撃の対象にすることができれば(実際には何らかのリークを引き起こすものを何度も呼び出す)、実際にはセキュリティ上のリスクでもあります。これはサムスンのソフトウェア/ファームウェアを作る部分のコーディングが悪いというもう一つの例です。 – Merk

関連する問題