gpt4 book ai didi

android - ActivityManager.killBackgroundProcesses 不同于 "Force stop"

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:22 28 4
gpt4 key购买 nike

我在我的应用程序中试验 ActivityManager.killBackgroundProcesses 并注意到一些有趣的事情。我希望 stackoverflow 上的某个人可以对此有所启发。

所以如果我启动一个应用程序,例如youtube,我首先看到视频页面列表,然后我点击菜单->设置,我会得到设置页面。现在,如果我单击主页按钮,这会将 youtube 置于背景。到目前为止,一切都很好。现在,如果我运行 ActivityManager.killBackgroundProcesses 来终止 youtube 应用程序(或者我使用 Advanced task killer,我相信它使用相同的 API),并且当我再次启动 youtube 时,我会看到设置页面,而不是视频页面的默认列表。

但是如果我不执行 ActivityManager.killBackgroundProcesses,而是转到系统设置->管理应用程序->Youtube->强制停止,当我再次启动 youtube 时,我得到的是视频页面列表,而不是设置页面。

所以看起来 ActivityManager.killBackgroundProcesses 与强制停止不同,因为它仍然记得在将其置于后台之前它所在的最后一个任务/页面,而强制停止让您重新开始。

有人对此有很好的解释吗?是否可以在我的代码中执行“强制停止”以重新启动应用程序?

非常感谢!

最佳答案

好吧,我不确定如何使用它,因为我以前从未尝试过使用我以外的应用程序,但也许它会有所帮助 - 考虑使用:android.os.Process.killProcess(android.os. Process.myPid());

关于您的问题,为什么系统可以停止而您不能。事实上,系统可以做得更多。更具体地说,当您按下强制停止按钮时,系统会发送终止信号(信号 9)以使用给定的 pid 进行处理。

这就是为什么我认为上述功能应该有所帮助,因为它发送的信号几乎(即使不完全相同)也是如此。

希望对您有所帮助。

关于android - ActivityManager.killBackgroundProcesses 不同于 "Force stop",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com