我是android新手。我在使用我的应用程序时遇到问题。我有一些变量需要跟踪我的应用程序中的各种活动。所以我在扩展android.app.Application的类中声明了它们。实际上我认为这些变量只有在应用程序存活之前才会存在。如果我们关闭应用程序,认为他们不会活着。
例如:我有一些变量“n”,我在全局上下文中使用扩展android.app.Application的类声明了它。所以我做了一些活动,最后当应用程序即将完成并退出时,n增加到7.所以下次,当我尝试新运行应用程序时,我看到n仍然保持值7但不是0(在应用程序类中的变量声明期间,我将其初始化为0)并且它增加为8,9 ......但不是1,2(我期望发生的事情)..为什么它甚至在app之后仍保持值完成并退出?我错了android.app.Application类吗?..所以我希望我的应用程序只跟踪变量,直到应用程序执行。如果应用程序完成,再次重新运行,我想重新初始化它(像n再次初始化为0)...我该怎么做?
答案 0 :(得分:1)
在Android平台上(以及在iOS上类似)当您按下(或主页)按钮时,您的应用程序不会退出。您的应用程序刚刚进入后台,这就是您的应用程序仍处于活动状态的原因,从而保存您之前设置的变量。由Android操作系统决定你的应用程序何时被杀死 - 通常是当操作系统需要清除某些系统资源(通常是内存)时。
您应该考虑到这一点来设计您的应用。
回到你的情况 - 首先你应该查看Activity lifecycle。有一些生命周期方法,比如onPause或onStop,你可以根据需要覆盖和重置你的应用程序状态。
答案 1 :(得分:0)
正如smitalm所说:“当你按下时,你的应用程序不会退出”。要先关闭应用(并终止它)卸载所有活动,然后执行:
System.exit(0);
答案 2 :(得分:0)
如上所述,您可以针对每项活动在finish()
方法上调用onBackPressed()
方法。
在每项活动中覆盖onBackPressed()
。
@Override
public void onBackPressed()
{
finish();
}