我的Android代码如下:
AnimationListener al = new Animation.AnimationListener(){
public void onAnimationEnd(Animation animation){
try{
Intent mainMenu = new Intent(Splash.this,MainMenu.class);
startActivity(mainMenu);
Log.d(Splash.ACTIVITY_TAG, "Haha , this is after startActivity.");
}
catch (Exception e){
String str= e.getMessage();
Log.d(Splash.ACTIVITY_TAG, " this is in catch.");
}
}
public void onAnimationRepeat(Animation animation){}
public void onAnimationStart(Animation animation){}
};
这部分没有错误,因为它没有发现任何异常。 但它不能进入下一个活动Mainmenu。 我通过F8调试代码,程序停止威胁,并抛出未捕获的异常。
06-05 22:32:31.191:E / Trace(623):错误打开跟踪文件:没有这样的文件或目录(2)
06-05 22:32:31.381:W / ActivityThread(623):应用程序com.example.zami正在等待端口8100上的调试器...
06-05 22:32:31.421:I / System.out(623):发送WAIT块 06-05 22:32:31.530:I / dalvikvm(623):调试器处于活动状态 06-05 22:32:31.635:I / System.out(623):调试器已连接
06-05 22:32:31.635:I / System.out(623):等待调试器解决...
06-05 22:32:31.840:I / System.out(623):等待调试器解决...
06-05 22:32:33.650:I / System.out(623):调试器已结算(1406)
06-05 22:32:34.760:D / dalvikvm(623):GC_FOR_ALLOC释放71K,2%免费10847K / 11011K,暂停45ms,总计53ms
06-05 22:32:34.780:I / dalvikvm-heap(623):将堆(frag case)增长到11.873MB,用于1310512字节分配
06-05 22:32:34.840:D / dalvikvm(623):GC_CONCURRENT释放1K,2%释放12125K / 12295K,暂停16ms + 5ms,总计49ms
06-05 22:32:34.960:D / dalvikvm(623):GC_FOR_ALLOC释放0K,2%释放12126K / 12295K,暂停30ms,总计30ms
06-05 22:32:34.980:I / dalvikvm-heap(623):将堆(frag case)增长到14.093MB,用于2330784字节分配
06-05 22:32:35.040:D / dalvikvm(623):GC_CONCURRENT释放0K,2%释放14402K / 14599K,暂停15ms + 15ms,总计61ms
06-05 22:32:35.630:D / gralloc_goldfish(623):未检测到GPU仿真的仿真器。
06-05 22:32:38.330:D / MyAndroid(623):哈哈,这是在startActivity之后。
06-05 22:33:45.141:D / AndroidRuntime(623):关闭VM
06-05 22:33:45.141:W / dalvikvm(623):threadid = 1:线程退出未捕获异常(组= 0x40a13300)
06-05 22:33:47.050:E / AndroidRuntime(623):致命异性:主要
06-05 22:33:47.050:E / AndroidRuntime(623):android.app.SuperNotCalledException:Activity {com.example.zami / com.example.zami.Splash}没有调用super.onPause()
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.Activity.performPause(Activity.java:5110)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1225)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread.performPauseActivity(ActivityThread.java:2825)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread.performPauseActivity(ActivityThread.java:2794)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2772)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread.access $ 800(ActivityThread.java:130)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1206)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.os.Handler.dispatchMessage(Handler.java:99)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.os.Looper.loop(Looper.java:137)
06-05 22:33:47.050:E / AndroidRuntime(623):在android.app.ActivityThread.main(ActivityThread.java:4745)
06-05 22:33:47.050:E / AndroidRuntime(623):at java.lang.reflect.Method.invokeNative(Native Method)
06-05 22:33:47.050:E / AndroidRuntime(623):at java.lang.reflect.Method.invoke(Method.java:511)
06-05 22:33:47.050:E / AndroidRuntime(623):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786)
06-05 22:33:47.050:E / AndroidRuntime(623):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-05 22:33:47.050:E / AndroidRuntime(623):at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
您在日志中有问题描述:
android.app.SuperNotCalledException:Activity {com.example.zami / com.example.zami.Splash}没有打电话给 super.onPause()
所以,在Splash活动中找到你的onPause方法并在那里调用super.onPause()。
<强>更新强>
如果要在派生类中覆盖它,则应在每个生命周期回调中调用超级方法。