IntentFilter と BroadcastReceiver を持つ Activity があり、それらを my に登録しますonCreate()
。
IntentFilter filter = new IntentFilter(ACTION_RCV_MESSAGE);
filter.addCategory(Intent.CATEGORY_DEFAULT);
receiver = new MessageReceiver();
registerReceiver(receiver, filter);
しかし、アプリを終了すると、Logcat は次のように言います。
07-03 01:38:19.567: ERROR/ActivityThread(304): android.app.IntentReceiverLeaked: アクティビティ com.intentservicetest5.IntentServiceTest5Activity は、もともとここに登録されていた IntentReceiver com.intentservicetest5.IntentServiceTest5Activity$MessageReceiver@44efe8a8 を漏らしました。unregisterReceiver() への呼び出しがありませんか?
しかし、私は持っています
public void onDestroy(Bundle savedInstanceState){
unregisterReceiver(receiver);
}
を呼び出したときにアクティビティがまだリークしているのはなぜunregisterReceiver()
ですか?