我正在使用MediaPlayer和MediaController对象来流音频。当关闭活动时,我会得到一个窗口泄漏的异常。
在我的活动中,我有以下几点,一点帮助都没有。
@Override
protected void onStop() {
super.onStop();
mediaController.hide();
}我得到以下堆栈跟踪:
01-24 20:11:18.317: E/WindowManager(26286):Activity 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: Activity co.uk.ing_simmons.aberdeensoundsites.RecordingDetails泄露了最初在这里添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590:11:18.317: E/WindowManager(26286):在android.view.ViewRootImpl.(ViewRootImpl.java:418) 01-24 20:11:18.317: E/WindowManager(26286):at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:294) 01-24 20:11:18.317: E/WindowManager(26286):at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:226) 01-24 20:11:18.317: E/WindowManager(26286 )):在android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:151) 01-24 20:18.317: E/WindowManager(26286):android.view.Window$LocalWindowManager.addView(Window.java:547) 01-24 20:18.317: E/WindowManager(26286):at android.widget.MediaController.show(MediaController.java:470) 01-24 20:11:18.317: E/WindowManager(26286):at android.widget.MediaControllerco.uk.ing_simmons.aberdeensoundsites.RecordingDetails$2.run(RecordingDetails.java:202) 01-24 20:18.317: E/WindowManager(26286):at .show 01-24 20:18.317: E/WindowManager(26286):at android.os.Handler.handleCallback(Handler.java:615) 01-24 20:11:18.317: E/WindowManager(26286):at android.os.Handler.dispatchMessage(Handler )( android.app.ActivityThread.main(ActivityThread.java:5006) ) 01-24 20:11:18.317: E/WindowManager(26286):at android.os.Looper.loop(Looper.java:153) 01-24 20: 18.317: E/WindowManager(26286):at java.lang.reflect.Method.invokeNative 01-24 20:11:18.317: E/WindowManager(26286):at java.lang.reflect.Method.invokeNative(原生方法) 01-24 20:11:18.317: E/WindowManager(26286):at java.lang.reflect.Method.invoke(Method.java:511) 01-24 20:11:18.317: E/WindowManager(26286):at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821) 01-24 20:11:18.317: E/WindowManager(26286):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 01-24 20:11 :11:18.317: E/WindowManager(26286):在dalvik.system.NativeStart.main(原生方法) 01-24 20:18.325: E/InputEventReceiver(26286):信道'41c81858 (客户端)‘~发行者关闭输入通道或出现错误。events=0x9
它似乎指向第202行,即这一行:
mediaController.show();我已经在谷歌上搜索了几个小时,所有的东西都说要在mediaController.hide()方法中添加"mediaController.hide()“来防止泄漏。这显然是不起作用的,所以这里的任何帮助或指导将是非常感谢的。
谢谢
发布于 2014-01-24 07:28:07
你可能想要扭转这条线
super.onStop();
mediaController.hide();至
mediaController.hide();
super.onStop();https://stackoverflow.com/questions/21326805
复制相似问题