1-17 11:31:33.753 26912-26912/com.hx.socialapp E/ActivityThread: Activity com.hx.socialapp.MainActivity has leaked IntentReceiver com.hx.socialapp.activity.user.UserFragment$MessageReceiver@23b67f8 that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity com.hx.socialapp.MainActivity has leaked IntentReceiver com.hx.socialapp.activity.user.UserFragment$MessageReceiver@23b67f8 that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:1253)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:966)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1408)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1388)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1382)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:586)
at com.hx.socialapp.activity.user.UserFragment.onCreateView(UserFragment.java:110)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2192)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2900)
at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:603)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1251)
at android.app.Activity.performStart(Activity.java:6775)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2819)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2921)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4806)
at android.app.ActivityThread.-wrap19(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6436)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1113)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:974)
初看这个标题 ,不就是IntentReceiverLeaked 泄露吗? 这里提示是泄露了,但是检查了代码发现其实自己已经做了注销,为啥会报这个异常呢
onCreateView方法中,已经做了注册
IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Constant.ANNOUN_LIST_BROADCAST); intentFilter.addAction(Constant.ANNOUN_READ_BROADCAST); intentFilter.addAction(Constant.MAIN_FINISH_BROADCAST); intentFilter.addAction(Constant.ADDRESS_MODIFY_BROADCAST); mBroadcastReceiver = new MessageReceiver(); mContext.registerReceiver(mBroadcastReceiver, intentFilter); 并在已经做了注销 @Override public void onDestroy() { if (mBroadcastReceiver != null) { mContext.unregisterReceiver(mBroadcastReceiver); } super.onDestroy(); } 报了这个异常是什么原因造成的呢?