我是安卓系统的新手。我在处理我的申请时遇到问题。我有一些变量需要在我的应用程序中跟踪各种活动。所以我在一个扩展android.app.Application的类中声明了它们。实际上,我认为这些变量只有在应用程序激活之前才会激活。如果我们关闭应用程序,以为他们就不会活着了。
例如:我有一些变量"n",我使用扩展android.app.Application的类在全局上下文中声明了它。所以我做了一些活动,最后当应用程序即将完成并退出时,n增加到7。所以下一次,当我尝试新运行应用程序时,我看到n仍然保持值7,但不是0(在应用程序类中的变量声明过程中,我将其初始化为0),并且它像8,9一样递增…但不是1,2(我希望发生的情况)。。为什么即使在应用程序完成并退出后,它仍保持这些值?我对android.app.应用程序类的看法错了吗?。。所以我希望我的应用程序只在执行应用程序之前跟踪变量。。如果应用程序完成,并且当它再次新运行时,我想让它重新初始化(就像n再次初始化为0)。。。我该怎么做?
在Android平台上(在iOS上也是如此),当您按下后退(或主页)按钮时,您的应用程序不会退出。你的应用程序刚刚被带到后台,这就是为什么你的应用仍然有效,从而保存了你之前设置的变量。这取决于Android操作系统来决定你的应用程序何时真正被杀死——通常是在操作系统需要清除一些系统资源(通常是内存)的时候。
你应该在设计应用程序时考虑到这一点。
所以回到您的情况——首先您应该检查"活动"生命周期。有一些生命周期方法,如onPause或onStop,您可以根据需要覆盖和重置应用程序状态。
正如bt smitalm所说,"当你按下返回键时,你的应用程序不会退出"。要关闭应用程序(并终止它),请先卸载所有设备,然后执行:
System.exit(0);
如上所述,您可以在每个活动的onBackPressed()
方法上调用finish()
方法。在每个活动中覆盖CCD_ 3。
@Override
public void onBackPressed()
{
finish();
}