Android - activity 的完成速度非常慢

Android - Very slow finishing of an activity

我有一个关闭应用程序的“关闭”按钮。 我尝试了两种方法,但它们都很慢。

  1. 正在完成 activity:
activity.finish()
  1. 发送主页意图(来自 here
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

如何更快地关闭 activity 或将其发送到后台? 为什么点击“主页”按钮 比发送 ACTION_MAIN 意图快 很多?

HOME 按钮将在当前 Activity 上呼叫 onPause()。因此,它并没有完全关闭应用程序,而是暂停了它。

Ergo: 当然因为它保留了内存所以即使在启动时也快得多。

现在你知道如何暂停而不是关闭应用程序,如果你想有一个快速的方法。


如果你想关闭整个应用我建议使用finishAndRemoveTask();

Finishes all activities in this task and removes it from the recent tasks list.

注意:BACK 如果您想使用其他方式,按钮将调用 onDestroy()。尝试最适合您的用途。


代码示例

使用 Button:

以编程方式关闭 HOME 按钮之类的应用程序,无需透明 View
Button close = findViewById(R.id.myCloseButton);
        close.setOnClickListener(view -> {
            finishAffinity();
        });