我有 Android 应用程序播放声音,当我想从应用程序注销时按下移动注销按钮我有错误消息“应用程序已停止... ”。
@Override
protected void onStop() {
super.onStop();
if(mp.isPlaying())
mp.stop();
mp.release();
finish();
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
if(mp!=null)
{
if(mp.isPlaying())
mp.stop();
mp.release();
}
finish();
}
06-30 00:09:48.403:I / Choreographer(678):跳过106帧!应用程序可能在其主线程上做了太多工作。 06-30 00:09:48.452:D / gralloc_goldfish(678):未检测到GPU仿真的仿真器。 06-30 00:09:49.761:I / Choreographer(678):跳过135帧!应用程序可能在其主线程上做了太多工作。 06-30 00:09:51.331:D / dalvikvm(678):GC_CONCURRENT释放82K,2%免费8378K / 8519K,暂停123ms + 21ms,总计278ms 06-30 00:10:18.202:W / IInputConnectionWrapper(678):showStatusIcon在非活动的InputConnection上 06-30 00:10:19.042:D / AndroidRuntime(678):关闭VM 06-30 00:10:19.042:W / dalvikvm(678):threadid = 1:线程退出未捕获异常(组= 0x40a13300) 06-30 00:10:19.211:E / AndroidRuntime(678):致命异常:主要 06-30 00:10:19.211:E / AndroidRuntime(678):android.app.SuperNotCalledException:Activity {com.ramadan / com.ramadan.Ramadan}没有调用super.onStop() 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.Activity.performStop(Activity.java:5148) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3232) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3291) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.ActivityThread.access $ 1200(ActivityThread.java:130) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1248) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.os.Handler.dispatchMessage(Handler.java:99) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.os.Looper.loop(Looper.java:137) 06-30 00:10:19.211:E / AndroidRuntime(678):在android.app.ActivityThread.main(ActivityThread.java:4745) 06-30 00:10:19.211:E / AndroidRuntime(678):at java.lang.reflect.Method.invokeNative(Native Method) 06-30 00:10:19.211:E / AndroidRuntime(678):at java.lang.reflect.Method.invoke(Method.java:511) 06-30 00:10:19.211:E / AndroidRuntime(678):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786) 06-30 00:10:19.211:E / AndroidRuntime(678):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 06-30 00:10:19.211:E / AndroidRuntime(678):at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:1)
它会在SuperNotCalledException
中抛出onStop()
,这意味着您没有调用super.onStop()
:
@Override
public void onStop(){
super.onStop(); // must be called.
}
活动通知周期中的每个方法(例如onCreate()
,onResume()
,onStart()
等都应调用超级方法。