我有一个Android活动finish()在里面调用,onStop()所以当我切换到其他活动(包括主菜单)时,活动将被关闭.在这一点上,一切都按预期工作.
但是,当我再次运行应用程序时(有时,并非总是如此),我注意到应用程序使用与之前相同的PID运行,并onCreate()再次调用.我没有看到任何呼叫onRestart()所以我认为onCreate()呼叫是直接执行的onStop(),这违反了活动的生命周期.当应用程序使用新的PID时,我可以理解为什么onCreate()被调用,这是因为这是活动的开始.
谁知道为什么会这样?
关于我正在开发的应用程序:这是一个Unity + Vuforia + Android应用程序.我创建了一个自定义活动,因为我需要在Android(而不是Unity)上创建本机UI.
我发现在Android项目中报告了类似的问题:http://code.google.com/p/android/issues/detail?id = 15331,但我不确定原因是否相同.
更新:从我在日志中看到的,在finish()通话后,没有电话onDestroy().但是,如果我提到的问题发生(活动是使用相同的过程启动的),则会onDestroy()在活动开始时调用.
更新:对于延迟更新抱歉.这里我展示了logcat的摘录.
## First run
I/ActivityManager( 265): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=the.app/the.app.UnityAriusActivity bnds=[238,115][351,273] } from pid 423
I/ActivityManager( 265): Start proc the.app for activity the.app/the.app.UnityAriusActivity: pid=1686 uid=10013 gids={3003, 1006, 1015}
D/arius ( 1686): UnityAriusActivity: onStart
D/arius ( 1686): UnityAriusActivity: …Run Code Online (Sandbox Code Playgroud)