2016-01-13 82 views
0

我的应用程序中有几个静态和非静态变量。当我通过点击右键,在android控制栏终止应用程序:enter image description here安全地终止应用程序以在其后启动正常启动

并拖动应用程序时,该应用程序在下次启动是complately正常(如预期),但使用时:

((Activity)MainDisplay.getContext()).finish(); 

该应用已完成(但仍在RAM中),并且在下一次启动时会出现一些UI问题(例如,通过更改活动,第一个活动的UI元素仍显示)。

是否有任何想法如何解决它?

我应该在finish()之前清除所有变量吗?

+0

IMO更正确地处理您的Activities生命周期回调的问题。很难说没有你的代码,虽然... – 2Dee

+1

如果你关闭并重新打开它,你不应该有与你的应用程序混淆的静态变量。 – EpicPandaForce

+0

完成()后使用System.exit(0)。 –

回答

1

finish只会关闭您调用它的活动,它不会终止您的应用程序。请注意,自行终止您的应用程序并不常见,您应该能够处理暂停和恢复。如果你确实想要终止你的应用程序,我认为最接近你会得到的是System.exit(int)。 int表示错误,0表示程序结束OK

+0

我测试过'System.exit(0);',它工作。谢谢!但你说它不是平常,所以我应该怎么做才能暂停应用程序? – Behy

+0

我不知道你对Android Activity生命周期有多熟悉,但你可能想看看它:http://developer.android.com/reference/android/app/Activity.html – 0xDEADC0DE

+0

你的意思是我应该以某种方式管理onPause()和onResume()中的变量,而不是杀死和创建应用程序,不是吗?如果是这样,有暂停/恢复或任何潜在的问题,杀死/创建方法吗? – Behy

相关问题