Android 如何关闭关闭后仍在后台运行的应用程序

Android 如何关闭关闭后仍在后台运行的应用程序,android,android-activity,activity-lifecycle,Android,Android Activity,Activity Lifecycle,我的应用程序正在正常运行,当我进行一些新的活动时,我将代码用作 Intent start=new Intent(current activity.this,new activity.class); startActivityForResult(start, 0); finish(); 然后,当我不得不回到之前的活动时,我使用了以下代码 Intent start = new Intent(current activity.this

我的应用程序正在正常运行,当我进行一些新的活动时,我将代码用作

Intent start=new Intent(current activity.this,new activity.class);
                startActivityForResult(start, 0);
                finish(); 
然后,当我不得不回到之前的活动时,我使用了以下代码

Intent start = new Intent(current activity.this,earlier activity.class);
                    startActivity(start);
                    finishActivity(0);
我认为,通过这种方式,一堆活动可能是清晰的。点击按钮或回拨电话按钮,我使用了以下代码

Intent startMain = new Intent(Intent.ACTION_MAIN);
                startMain.addCategory(Intent.CATEGORY_HOME);
                startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(startMain);
但我的应用程序仍在后台运行。我还使用了
android:noHistory=“true”
应用程序在后台被杀死,但出现了一条消息,该应用程序被强制关闭。简单
finish()移动到最后一个活动。
我也看到了链接,但我是新来的,所以没有得到太多。请给我一些建议,我该如何处理这个问题

我认为,通过这种方式,一堆活动可能是清晰的

欢迎你发表意见
startActivityForResult()
不是为您如何使用而设计的

点击按钮或回拨电话按钮,我使用了以下代码

Intent start = new Intent(current activity.this,earlier activity.class);
                    startActivity(start);
                    finishActivity(0);
我会解雇任何为我工作的人

请遵循——虽然我不同意其中的所有内容,但它比你现在所做的要好得多。在用户眼中

但我的应用程序仍在后台运行

只要您没有泄漏任何线程或服务,您的进程就会运行,但不会占用大量CPU时间。Android将在需要RAM时终止进程。这样,如果用户选择返回到您的应用程序,或者需要运行应用程序中的其他内容(例如,
AlarmManager
事件,广播
Intent
),Android不必浪费CPU时间和电池寿命来进行另一个进程

请给我一些建议,我该如何处理这个问题

不要管这个过程,没有人会受伤

我认为,通过这种方式,一堆活动可能是清晰的

欢迎你发表意见
startActivityForResult()
不是为您如何使用而设计的

点击按钮或回拨电话按钮,我使用了以下代码

Intent start = new Intent(current activity.this,earlier activity.class);
                    startActivity(start);
                    finishActivity(0);
我会解雇任何为我工作的人

请遵循——虽然我不同意其中的所有内容,但它比你现在所做的要好得多。在用户眼中

但我的应用程序仍在后台运行

只要您没有泄漏任何线程或服务,您的进程就会运行,但不会占用大量CPU时间。Android将在需要RAM时终止进程。这样,如果用户选择返回到您的应用程序,或者需要运行应用程序中的其他内容(例如,
AlarmManager
事件,广播
Intent
),Android不必浪费CPU时间和电池寿命来进行另一个进程

请给我一些建议,我该如何处理这个问题


不要管这个过程,没有人会受伤。

你有什么理由想打乱可恢复和自动管理的应用程序生命周期的整个概念吗?我总共有8个活动,控制从一个活动到另一个活动。没有什么特别的原因。你有什么原因想打乱可恢复和自动管理的应用程序生命周期的整个概念吗?我总共有8个活动,控制从一个到另一个。这没有什么特别的原因。将应用程序放在后台有什么好处吗。那个应用程序正在运行吗?@BraveGirl:“那个应用程序正在运行吗?”——这取决于你所说的“运行”是什么意思。如果您有自己的后台线程仍在运行,那么这些线程将继续工作,因此找到时间停止这些线程非常重要。不过,除此之外,大部分代码都不会执行。用户的主要成本就是你正在消耗的内存块,一旦Android更好地使用了内存,它就会终止你的进程。是的,我在我的应用程序中使用了一个线程作为计时器,那么如何停止该线程呢。你能告诉我怎样才能正确地停止这些线程吗。运行意味着它在后台,我从任务管理器检查过。@BraveGirl:“是的,我在应用程序中使用了一个线程作为计时器,那么我如何停止该线程。”--我不能告诉你如何停止该线程,因为我不知道你的线程是如何设置的。有很多关于Java线程模型的书。当用户退出您的应用程序时,或者当您的应用程序移到后台时(请参见
onUserLeaveHint()
),停止该线程。是否有任何让应用程序在后台运行的退步。那个应用程序正在运行吗?@BraveGirl:“那个应用程序正在运行吗?”——这取决于你所说的“运行”是什么意思。如果您有自己的后台线程仍在运行,那么这些线程将继续工作,因此找到时间停止这些线程非常重要。不过,除此之外,大部分代码都不会执行。用户的主要成本就是你正在消耗的内存块,一旦Android更好地使用了内存,它就会终止你的进程。是的,我在我的应用程序中使用了一个线程作为计时器,那么如何停止该线程呢。你能告诉我怎样才能正确地停止这些线程吗。运行意味着它在后台,我从任务管理器检查过。@BraveGirl:“是的,我在应用程序中使用了一个线程作为计时器,那么我如何停止该线程。”--我不能告诉你如何停止该线程,因为我不知道你的线程是如何设置的。有很多关于Java线程模型的书。当用户退出您的应用程序时,或者当您的应用程序移到后台时(请参见
onUserLeaveHint()
),停止该线程的时间。