0

嗨我想关闭我的应用程序,也想通过单击按钮从 ram 中杀死它。我正在使用这种方法,但它只是最小化应用程序并没有关闭完整的应用程序。该怎么办 ?

public void AppExit()
{

    this.finish();
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    }
4

3 回答 3

4

来电:

  • System.exit(0);
  • Process.killProcess(android.os.Process.myPid());

这两者绝对不是一个好主意

而是使用 Activity 的finish();方法——让 Android 处理 RAM 管理的清理,这样做非常好!

如果您不希望您的活动显示在活动堆栈中,则标志 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP通常足以启动另一个活动。

AndroidManifest.xml在您的活动标签中指定android:noHistory="true".

于 2013-08-14T10:59:35.183 回答
1

System.exit将退出 VM,Android 将终止此进程。

Activity#finish()通常是流行的选择,但这不需要立即执行,也只会影响这个特定的 Activity,而不是整个过程。

仅供参考:手动杀死应用程序在 Android 中并不是一个好的应用程序设计(可能除了一些特殊情况)。如果您能解释为什么要杀死您的应用程序,我们可能会告诉您一个更好的解决方案。

于 2013-08-14T10:54:43.277 回答
0

使用单行代码

System.exit(1);

或者

android.os.Process.killProcess(android.os.Process.myPid());
于 2013-08-14T10:56:58.663 回答