Android — утечка MediaController при активности

Я использую объекты MediaPlayer и MediaController для потоковой передачи звука. При закрытии активности я получаю исключение с утечкой окна.

У меня есть следующее в моей деятельности, которая совсем не помогает.

@Override
protected void onStop() {
    super.onStop();
    mediaController.hide();

}

Я получаю следующую трассировку стека:

Что, кажется, указывает на строку 202, которая является этой строкой:

Я гуглю это уже несколько часов, и буквально все говорят, что нужно поместить «mediaController.hide ()» в метод onStop, чтобы предотвратить утечки. Что явно не работает, поэтому любая помощь или руководство здесь будут очень признательны.

mediaController.show();

Спасибо

Вы, вероятно, хотите поменять местами строки


person Henry Ing-Simmons    schedule 24.01.2014    source источник


Ответы (1)


Не работает. Я все еще получаю ошибку окна с утечкой.

super.onStop();
mediaController.hide();

to

mediaController.hide();
super.onStop();
person Scary Wombat    schedule 24.01.2014
comment
01–24 20:11:18.317: E/WindowManager(26286): Активность co.uk.ing_simmons.aberdeensoundsites.RecordingDetails привела к утечке окна com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590, которое изначально было добавлено сюда 01 -24 20:11:18.317: E/WindowManager(26286): android.view.WindowLeaked: Активность co.uk.ing_simmons.aberdeensoundsites.RecordingDetails привела к утечке окна com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590, изначально было добавлено здесь 01-24 20:11:18.317: E/WindowManager(26286): в android.view.ViewRootImpl.(ViewRootImpl.java:418) 01-24 20:11:18.317: E/WindowManager(26286): в android.view.WindowManagerImpl.addView(WindowManagerImpl.java:294) 01-24 20:11:18.317: E/WindowManager(26286): в android.view.WindowManagerImpl.addView(WindowManagerImpl.java:226) 01-24 20 :11:18.317: E/WindowManager(26286): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:151) 01-24 20:11:18.317: E/WindowManage r(26286): в android.view.Window$LocalWindowManager.addView(Window.java:547) 01-24 20:11:18.317: E/WindowManager(26286): в android.widget.MediaController.show(MediaController.java :470) 01-24 20:11:18.317: E/WindowManager(26286): в android.widget.MediaController.show(MediaController.java:429) 01-24 20:11:18.317: E/WindowManager(26286): на co.uk.ing_simmons.aberdeensoundsites.RecordingDetails$2.run(RecordingDetails.java:202) 01-24 20:11:18.317: E/WindowManager(26286): на android.os.Handler.handleCallback(Handler.java:615 ) 01-24 20:11:18.317: E/WindowManager(26286): в android.os.Handler.dispatchMessage(Handler.java:92) 01-24 20:11:18.317: E/WindowManager(26286): в android .os.Looper.loop(Looper.java:153) 01-24 20:11:18.317: E/WindowManager(26286): в android.app.ActivityThread.main(ActivityThread.java:5006) 01-24 20:11 :18.317: E/WindowManager(26286): в java.lang.reflect.Method.invokeNative(собственный метод) 01-24 20:11:18. 317: E/WindowManager(26286): в java.lang.reflect.Method.invoke(Method.java:511) 01-24 20:11:18.317: E/WindowManager(26286): в com.android.internal.os .ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 01-24 20:11:18.317: E/WindowManager(26286): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 01- 24 20:11:18.317: E/WindowManager(26286): at dalvik.system.NativeStart.main(собственный метод) 01-24 20:11:18.325: E/InputEventReceiver(26286): канал '41c81858 Panel:co.uk .ing_simmons.aberdeensoundsites/co.uk.ing_simmons.aberdeensoundsites. RecordingDetails (client)' ~ Издатель закрыл входной канал или произошла ошибка. события = 0x9 - person Alexey; 24.09.2014