我正在开发一款运行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%死亡而不再在该活动进程列表上?
答案 0 :(得分:1)
这是Android上的预期行为。
Android无法保证何时退出时会杀死您的应用,因此我不确定您为什么认为应该这样做。对于Android来说,尽可能长时间地将应用程序保存在内存中会更有利,这样可以更快地恢复。
答案 1 :(得分:0)
请在OnBackPressed()方法中使用此代码:
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
这样您的应用就会完全关闭,并从正在运行的应用中移除。