Android Activity has leaked window that was originally added

來源:互聯網
上載者:User

標籤:finish   thread   smi   inter   nat   pat   star   wro   ini   

今天偵錯工具時log中突然列印這樣的錯誤,但是程式並沒有crash,為了不放過一個錯誤,我決定調查一下。

當時是離開一個activity,然後提示是否退出此介面,接下來就列印此錯誤:

03-08 18:02:48.521: E/WindowManager(6340): Activity com.linc.megatron.activity.ExamActivity has leaked window com.android.internal[email protected] that was originally added here03-08 18:02:48.521: E/WindowManager(6340): android.view.WindowLeaked: Activity com.linc.megatron.activity.ExamActivity has leaked window com.android.internal[email protected] that was originally added here03-08 18:02:48.521: E/WindowManager(6340):     at android.view.ViewRoot.<init>(ViewRoot.java:264)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.Window$LocalWindowManager.addView(Window.java:424)03-08 18:02:48.521: E/WindowManager(6340):     at android.app.Dialog.show(Dialog.java:241)03-08 18:02:48.521: E/WindowManager(6340):     at com.linc.megatron.base.BackKeyActivity.showDialog(BackKeyActivity.java:76)03-08 18:02:48.521: E/WindowManager(6340):     at com.linc.megatron.base.BackKeyActivity.onKeyDown(BackKeyActivity.java:62)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.KeyEvent.dispatch(KeyEvent.java:1256)03-08 18:02:48.521: E/WindowManager(6340):     at android.app.Activity.dispatchKeyEvent(Activity.java:2078)03-08 18:02:48.521: E/WindowManager(6340):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1709)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2628)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2603)03-08 18:02:48.521: E/WindowManager(6340):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1875)03-08 18:02:48.521: E/WindowManager(6340):     at android.os.Handler.dispatchMessage(Handler.java:99)03-08 18:02:48.521: E/WindowManager(6340):     at android.os.Looper.loop(Looper.java:123)03-08 18:02:48.521: E/WindowManager(6340):     at android.app.ActivityThread.main(ActivityThread.java:3687)03-08 18:02:48.521: E/WindowManager(6340):     at java.lang.reflect.Method.invokeNative(Native Method)03-08 18:02:48.521: E/WindowManager(6340):     at java.lang.reflect.Method.invoke(Method.java:507)03-08 18:02:48.521: E/WindowManager(6340):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)03-08 18:02:48.521: E/WindowManager(6340):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)03-08 18:02:48.521: E/WindowManager(6340):     at dalvik.system.NativeStart.main(Native Method)

顯然,我用Dialog確認是否退出,但是activity銷毀後並沒有處理Dialog的退出。 

解決辦法:

知道了問題所在就容易解決問題了。只需要在activity銷毀時關閉Dialog就好。

    @Override    protected void onDestroy() {        if(mDialog != null) {            mDialog.dismiss();        }        super.onDestroy();    }

 

Android Activity has leaked window that was originally added

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.