SimpleConfig结果显示导致app崩溃:
先贴上SimpleConfig显示结果导致app崩溃时打印出来的log
02-10 08:27:37.771 2860-3831/com.maliang.xiaobai E/SocketSurfaceView﹕ 1111111111111111111111111 222222
02-10 08:27:54.860 2860-3831/com.maliang.xiaobai E/SocketSurfaceView﹕ 1111111111111111111111111 222222
02-10 08:29:16.402 2860-3831/com.maliang.xiaobai E/SocketSurfaceView﹕ 1111111111111111111111111 222222
02-10 08:29:41.223 2860-3831/com.maliang.xiaobai E/SocketSurfaceView﹕ 1111111111111111111111111 222222
02-10 08:29:47.921 2860-3831/com.maliang.xiaobai E/SocketSurfaceView﹕ 1111111111111111111111111 222222
02-10 08:30:38.234 2860-2860/com.maliang.xiaobai E/ActivityThread﹕ Activity com.maliang.xiaobai.wifi.DeviceActivity has leaked IntentReceiver com.maliang.xiaobai.wifi.DeviceActivity$TCPConnectingStateReceiver@416c36b8 that was originally registered here. Are you missing a call to unregisterReceiver()?
android.app.IntentReceiverLeaked: Activity com.maliang.xiaobai.wifi.DeviceActivity has leaked IntentReceiver com.maliang.xiaobai.wifi.DeviceActivity$TCPConnectingStateReceiver@416c36b8 that was originally registered here. Are you missing a call to unregisterReceiver()?
at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:825)
at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:596)
at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1388)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1368)
at android.app.ContextImpl.registerReceiver(ContextImpl.java:1362)
at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:423)
at com.maliang.xiaobai.wifi.DeviceActivity.onCreate(DeviceActivity.java:211)
at android.app.Activity.performCreate(Activity.java:5122)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2270)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2358)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1340)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
02-10 08:32:01.519 2860-2860/com.maliang.xiaobai E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@413c1cd0 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:646)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:248)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:281)
at android.app.AlertDialog$Builder.show(AlertDialog.java:951)
at com.maliang.xiaobai.wifi.WifiActivity.ShowResultPopUp(WifiActivity.java:1047)
at com.maliang.xiaobai.wifi.WifiActivity.ShowResultPopUpSafe(WifiActivity.java:904)
at com.maliang.xiaobai.wifi.WifiActivity$MsgHandler.handleMessage(WifiActivity.java:948)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5293)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
android.view.WindowManager$BadTokenException: Unable to add window – token android.os.BinderProxy@413c1cd0 is not valid; is your activity running? 由此可见,结果窗口的显示依赖于当前活动,于是加入isActivityAlive变量,当onDestroy()或者onResume()被调用的时候,对应地修改变量值,以标识当前活动的状态