如何在返回

时间:2016-03-04 02:53:30

标签: java android

我正在开发一款运行Lollipop的Galaxy S6。我使用Android Studio使用Android Studio附带的模板创建ScrollView应用程序。我只添加了以下Java代码:

@Override
public void onBackPressed() {
    Toast.makeText(this, "onBackPressed", Toast.LENGTH_SHORT).show();
    super.onBackPressed();
}

@Override
protected void onPause() {
    Toast.makeText(this, "onPause", Toast.LENGTH_SHORT).show();
    super.onPause();
}

@Override
protected void onStop() {
    Toast.makeText(this, "onStop", Toast.LENGTH_SHORT).show();
    super.onStop();
}

@Override
protected void onDestroy() {
    Toast.makeText(this, "onDestroy", Toast.LENGTH_SHORT).show();
    super.onDestroy();
}

当我点击设备上的Back时,所有4个Toast消息都按照它们出现在代码中的顺序出现。但是,当我在“应用程序管理器”中查看应用程序时,“强制停止”按钮仍处于启用状态,表示该进程仍处于活动状态。要确认我还下载了第三方应用以查看活动进程,并在列表中显示我的。

是否有必须加入的内容,以便在按下设备上的“后退”按钮时,该过程将100%死亡而不再在该活动进程列表上?

2 个答案:

答案 0 :(得分:1)

这是Android上的预期行为。

Android无法保证何时退出时会杀死您的应用,因此我不确定您为什么认为应该这样做。对于Android来说,尽可能长时间地将应用程序保存在内存中会更有利,这样可以更快地恢复。

答案 1 :(得分:0)

请在OnBackPressed()方法中使用此代码:

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

这样您的应用就会完全关闭,并从正在运行的应用中移除。