进程终止后重新启动Android应用程序
当我的应用程序空闲时,Android会终止进程。 如果用户在一段时间后重新打开应用程序,则只会创建顶部活动-这对我来说是个问题,因为该活动依赖于其他对象的初始化(现在已销毁) 在这种情况下,我想做的是重新启动应用程序。进程终止后重新启动Android应用程序,android,android-activity,Android,Android Activity,当我的应用程序空闲时,Android会终止进程。 如果用户在一段时间后重新打开应用程序,则只会创建顶部活动-这对我来说是个问题,因为该活动依赖于其他对象的初始化(现在已销毁) 在这种情况下,我想做的是重新启动应用程序。 我该怎么做呢?您可能应该考虑在应用程序的类实现中存储这样的对象 如果这些对象包含需要更持久的状态,您应该在每个活动的onPause()方法中将这些对象的状态保存到数据库、SharedReferences或远程。只需确定您的应用程序是在之前被Android销毁后启动的,您可以在自定
我该怎么做呢?您可能应该考虑在应用程序的类实现中存储这样的对象
如果这些对象包含需要更持久的状态,您应该在每个活动的
onPause()
方法中将这些对象的状态保存到数据库、SharedReferences或远程。只需确定您的应用程序是在之前被Android销毁后启动的,您可以在自定义的应用程序
类中保留一个变量,并在应用程序初始化后将其设置为true
。因此,当应用程序重新启动时,此标志为假,然后只需做出意图
即可启动主活动
指定标志活动\u清除\u顶部
:
Intent reLaunchMain=new Intent(this,MainActivity.class);
reLaunchMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(reLaunchMain);
我想这个答案只适合你
完成进度后,请拨打此电话
finish();
Intent intent = new Intent(this, sameactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Android为了释放内存而关闭了一个应用程序。因此,如果应用程序处于空闲状态,当操作系统需要内存来执行其他程序时,它很可能会在某个时候被杀死。也许你需要一个后台服务来保持重要对象的运行。您可以使用Sticky Intent
来确保服务在终止时重新启动。即使您将它们保留在应用程序
类中,在进程被Android
终止后,对象将丢失,并且您将不会以“初始化活动”开始,但是最后一个可见的。我应该把代码放在哪里?若我在一次创建活动中执行此操作,它会崩溃。您会遇到什么异常?当您的应用程序由Android重新启动时,您应该调用此命令。@OvidiuLatcu hi,当您启动(并重新创建)的活动不是启动器时,是否重新创建了应用程序对象?我之所以要问这个问题,是因为我无法在重新创建活动时连接调试器。Tks