dnk*_*tso 12 service lifecycle android android-activity
这是场景:
...此时,Android将恢复活动A和B,因为该过程意外结束.但是,尽管活动B是singleTop,因为用户点击了通知,因此android会将其生成AGAIN.这导致在活动堆栈上具有A - > B - > B. 按下将再次带您进入活动B的第一个恢复实例.
Android团队中的某些人可以澄清幕后发生的事情以及如何避免这种情况吗?模拟Android因内存不足而杀死进程的最佳方法是什么?从DDMS按STOP是否足够好还是边缘情况,这在正常情况下永远不会发生?
来自设置 - >应用程序与来自DDMS的STOP的"强制停止"有什么区别?
提前致谢!
此行为不应根据进程是否被终止而改变。活动管理器首先查看服务器端堆栈来决定要做什么,一旦堆栈被适当调整,它就会恢复堆栈顶部的任何内容。
检查您的应用程序,确保它在重新初始化或执行其他类似操作时没有调用 startActivity()。查看日志以了解正在启动哪些活动以及正在使用的意图。使用“adb shell dumpsys Activity”查看当前活动堆栈是什么样的。也许您已经清除了任务关联性,因此第二个活动 B 正在其自己的任务中启动(在这种情况下 singleTop 不会产生任何影响)?
此外,如果您不提供有关您正在做的事情的有用细节,那么真的很难帮助人们。不同步骤的相关日志语句、“adb shell dumpsys Activity”显示的活动堆栈的状态等