当我的应用程序处于非活动状态一段时间后,android会终止其进程,使所有静态变量为null。我希望我的应用程序启动MainActivity(在清单中声明为启动器的活动),而不是当我的应用程序被最小化并随后被杀死时前景中的活动。
提前致谢
答案 0 :(得分:0)
如果您需要传递该活动的一些信息,您可以故意转到MainActivity。
答案 1 :(得分:0)
另一种可能性:如Clearing the back stack中所述,您可以将clearTaskOnLaunch="true"
添加到根活动中:
如果在任务的根活动中将此属性设置为“true”,则 每当用户离开时,堆栈都会被清除为根活动 任务并返回它。换句话说,它与之相反 alwaysRetainTaskState。用户始终返回其中的任务 初始状态,即使在离开任务一会儿之后。
答案 2 :(得分:0)
执行此操作的正确方法是将您需要的数据(您只存储在静态变量上)存储在数据库中,并将内存用作缓存。
不那么好的锤击时间这样做的方式......很简单。在需要该信息的每个onCreate
个活动中,检查信息是否为空,如果是,则调用finish()
和startActivity
所需的信息。
@override
protected void onCreate(){
super.onCreate();
...
if(Singleton.getInfo() == null){
this.finish();
startActivity(...)
}
}