Утечка диалогового окна во время onPause ()

#android #android-dialog

#Android #android-диалоговое окно

Вопрос:

Во время отображения диалогового окна и при нажатии кнопки Home приложение достигает onPause (), но я получаю сообщение журнала «android.view.Утечка окна». Из-за этого, когда я воссоздаю диалоговое окно в onCreate () (приложение попадает сюда после onDestroy ()) Я мог видеть, что диалоговое окно отображается в другом размере, который отличается от того, что было раньше. Есть какие-нибудь подсказки?

 07-05 09:25:49.581: E/WindowManager(11732): Activity memory.game.collection.free.ClassicalMemoryGame has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4131ee90 that was originally added here
07-05 09:25:49.581: E/WindowManager(11732): android.view.WindowLeaked: Activity memory.game.collection.free.ClassicalMemoryGame has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4131ee90 that was originally added here
07-05 09:25:49.581: E/WindowManager(11732): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:349)
07-05 09:25:49.581: E/WindowManager(11732): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
07-05 09:25:49.581: E/WindowManager(11732): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
07-05 09:25:49.581: E/WindowManager(11732): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
07-05 09:25:49.581: E/WindowManager(11732): at android.view.Window$LocalWindowManager.addView(Window.java:537)
07-05 09:25:49.581: E/WindowManager(11732): at android.app.Dialog.show(Dialog.java:285)
07-05 09:25:49.581: E/WindowManager(11732): at memory.game.collection.free.ClassicalMemoryGame.showDialogLevelCleared(ClassicalMemoryGame.java:2332)
07-05 09:25:49.581: E/WindowManager(11732): at memory.game.collection.free.ClassicalMemoryGame$DelayLastCard.onPostExecute(ClassicalMemoryGame.java:2654)
07-05 09:25:49.581: E/WindowManager(11732): at memory.game.collection.free.ClassicalMemoryGame$DelayLastCard.onPostExecute(ClassicalMemoryGame.java:1)
07-05 09:25:49.581: E/WindowManager(11732): at android.os.AsyncTask.finish(AsyncTask.java:602)
07-05 09:25:49.581: E/WindowManager(11732): at android.os.AsyncTask.access$600(AsyncTask.java:156)
07-05 09:25:49.581: E/WindowManager(11732): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
07-05 09:25:49.581: E/WindowManager(11732): at android.os.Handler.dispatchMessage(Handler.java:99)
07-05 09:25:49.581: E/WindowManager(11732): at android.os.Looper.loop(Looper.java:137)
07-05 09:25:49.581: E/WindowManager(11732): at android.app.ActivityThread.main(ActivityThread.java:4424)
07-05 09:25:49.581: E/WindowManager(11732): at java.lang.reflect.Method.invokeNative(Native Method)
07-05 09:25:49.581: E/WindowManager(11732): at java.lang.reflect.Method.invoke(Method.java:511)
07-05 09:25:49.581: E/WindowManager(11732): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-05 09:25:49.581: E/WindowManager(11732): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-05 09:25:49.581: E/WindowManager(11732): at dalvik.system.NativeStart.main(Native Method)
  

Комментарии:

1. вам нужно закрыть диалоговое окно при выходе из приложения или перейти в состояние onPause..

2. ОК. Я попробую это. Но что может быть причиной того, что диалоговое окно разного размера при воссоздании после onDestroy ()

3. может быть, ориентация меняется на некоторое время, пока вызывается onDestroy — боюсь, но тогда это всего лишь предположение 🙂