Android Activity生命周期,重启应用而不是重启活动

时间:2015-05-22 11:29:12

标签: android android-activity android-lifecycle restart

我最近开发了一款Android应用。一切顺利,直到我在我的设备上按主页键。 在我的一个设备(具有更多内存)上,活动恢复正常状态,我的应用程序运行良好。但是在其他设备上,活动会在几秒钟之后终止,当我恢复应用时,它会重新启动我使用默认值(不正确的行为)离开的活动。 如何强制应用程序从主活动重新启动应用程序,而不是使用默认值重新启动此活动?

3 个答案:

答案 0 :(得分:0)

尝试为android:alwaysRetainTaskState="true"中的活动设置Manifest.xml 根据文件

  

活动所在的任务的状态是否会出现   始终由系统维护 - 如果是,则为“true”,并且为“false”   如果允许系统将任务重置为其初始状态   某些情况。默认值为“false”。这个属性是   仅对任务的根活动有意义;它被忽略了   其他活动。通常,系统会清除任务(删除所有任务)   某些特定的根据活动上面的堆栈中的活动   用户从主屏幕重新选择该任务的情况。   通常,如果用户未访问任务,则执行此操作   一定的时间,比如30分钟。

     

但是,当此属性为“true”时,用户将始终返回   这个任务处于最后状态,无论他们如何到达那里。这是   例如,在像Web浏览器这样的应用程序中很有用   用户会有很多状态(例如多个打开的选项卡)   不喜欢失去。

了解更多参考资料click here

答案 1 :(得分:0)

最后我得到了答案:

我们必须在onCreate()的主要活动中设置一个全局静态变量,并在我们离开应用程序的活动中将该变量重置为null时完成!

答案 2 :(得分:-1)

如果你使用android:clearTaskOnLaunch =“true”,将清除完整的backstack。 您的应用程序将从头开始重新启动,这意味着应用程序主要活动将启动,如果您不存储数据,您将最终得到默认值。