Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android finish()如何在内部工作_Android - Fatal编程技术网

Android finish()如何在内部工作

Android finish()如何在内部工作,android,Android,我正在构建一个带有单个活动的Android应用程序。当我单击调用活动的finish()方法的按钮时,应用程序应该关闭 int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); 但是,该应用程序仍在运行应用程序列表中。应用程序不应该关闭吗 int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); 谢谢 int p

我正在构建一个带有单个活动的Android应用程序。当我单击调用活动的
finish()
方法的按钮时,应用程序应该关闭

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
但是,该应用程序仍在运行应用程序列表中。应用程序不应该关闭吗

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

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

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
通过运行
killProcess()
,我可以完全终止进程,这可以通过adb命令
adb shell ps
检查正在运行的进程来验证。然而,令人困惑的是,如果我按下多任务按钮,我的应用程序仍然显示为“正在运行”

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

另外,我仍然很好奇为什么
finish()
不能完全关闭单个活动应用程序。是否有比调用
killProcess()
更优雅的方法关闭应用程序?

您只能从后台删除活动,但所有应用程序仍在此运行的应用程序列表中。老实说,我不知道为什么,但没有过程进行,所以它是好的。手动关闭所有应用程序一直是我的习惯,因为我认为这会消耗电能,但现在我更清楚这是正常的。正在运行的应用列表中的应用不需要使用CPU,但具有已保存状态。安卓自己管理这个,所以不用担心。你不应该试图杀死它

你有正在运行的服务吗?实际上没有,只是一个简单的活动。应用程序正在关闭吗?您是否检查了调用此方法?它已“关闭”,主屏幕再次显示。但我猜finish()可能不会完全关闭应用程序。只是好奇为什么有些人会在没有给出原因的情况下对这个问题降级。如果这个问题是重复的,请说明它是重复的。如果这个问题不适合这里,请告诉我为什么,并教育我。
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);