杀死一个应用程序,Android是在这个过程中正确的方式。

时间:2013-11-26 06:26:27

标签: android

我见过许多任务杀手应用程序,它们声称会在后台杀死这些应用程序,但是一旦我使用它们,我发现他们所做的只是从列表视图中消除了应用程序并欺骗用户他们被杀

如果我在几秒钟内再次打开相同的任务杀手应用程序,同样的应用程序将再次出现在那里声称先前被杀死。现在这是应用程序或Android操作系统的错误吗?

不仅在这里,即使应用程序具有退出选项,我也注意到单击退出按钮不会终止它。那么问题出在哪里?

很久以前我读到Android中没有提供杀死应用程序的功能(我不知道当前时间)。那么应该归咎于操作系统吗?是否有正确的方法可以在我们想要的时候关闭应用并使其正常运行?

2 个答案:

答案 0 :(得分:1)

  

不仅在这里,即使应用程序有退出选项,我也注意到了   单击退出按钮不会终止它。那么它在哪里呢?   问题。?

如果应用程序设计正确,则退出选项应该将其终止。但Android中没有退出选项 您可以使用finish()终止活动。应用程序是活动的组合,因此如果所有活动都被正确杀死,则应用程序将不会按照我的理解运行。我可能错了。

  

很久以前我读到Android中没有提供杀死功能   一个应用程序(不知道当前时间)。所以应该责备   操作系统。?

据我所知,没有官员立刻杀死一个申请。但是有一些黑客可以让你立刻杀死所有的活动。

  

当我们想要并制作应用程序时,是否有正确的方法来关闭应用程序   表现正常。?

以下黑客对我来说效果很好。

关闭所有之前的活动,如下所示:

Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("Exit me", true);
startActivity(intent);
finish();

然后在MainActivity onCreate()方法中添加此内容以完成MainActivity

setContentView(R.layout.main_layout);

if( getIntent().getBooleanExtra("Exit me", false)){
    finish();
    return; // add this to prevent from doing unnecessary stuffs
}

答案 1 :(得分:0)

虽然Ninjas的回答提供了一种关闭堆栈上许多活动的方法,但请注意Android的构建方式,没有应用程序可以直接与另一个进行交互......这作为安全功能可以阻止大多数不需要的软件,以及恶意软件/病毒/等

强制关闭应用程序的唯一实际方法是为其阻止资源(通过使用Android设置工具将应用程序置于"未启动"状态),或者转到下面的系统(主要是一个linux),并且拒绝资源,这个是诡计,但可能。

  

如果我在几秒钟内再次打开相同的任务杀手应用程序,同样的应用程序将再次出现在那里声称先前被杀死。现在这是应用程序或Android操作系统的错误吗?

操作系统"故障",但它的行为与预期完全一致。任何程序都不能改变/编辑您的程序。就像忍者回答一样,他基本上要求系统忽略该堆栈上的任何活动。但是如果存在多个堆栈......那么......不,那就是APP故障。

  

不仅在这里,即使应用程序具有退出选项,我也注意到单击退出按钮不会终止它。那么问题出在哪里?

程序员不应该退出他的应用程序,因为它不是一个完整的程序,你基本上是在另一个程序中运行命令,因此必须遵守规则。一旦你开始,内存管理就在你手中,所以你不能/不应该退出"应用

  

当我们想要并且使其正常运行时,是否有正确的方法关闭应用程序?

不明白这个。在应用程序生命周期中,一切都表现正常(或者您知道,已停止:example已停止工作),或处于就绪状态