ces*_*cas 1 animation android single-instance
我试图更改活动转换的默认动画,但我遇到了一个问题。
我可以更改正常活动的动画,但是当我将launchMode 更改为singleInstance 时,第一次打开活动时,动画带有默认值。然后,每次我再次调用它时,它都会带有正确的自定义动画。
我尝试使用 window.attributes.windowAnimations,仅使用样式/主题和 overridePendingTransition(),结果始终相同。
我看到一些人有同样的问题,但我找不到有效的解决方案。
我有同样的问题。阅读有关Task 和 back stack的文档后,一切都变得清晰了。
这是因为launchMode singleInstance在 new task 中创建了单例活动。
请注意, task = 一组具有相同组 ID 的活动,即affinity。默认情况下,应用程序活动具有相同的亲和力,即应用程序由单个任务组成。
通常,过渡动画应用于单个任务中的活动。由于新任务初始化,第一次转换似乎不起作用。当新任务未完全初始化时,此任务的活动未创建,因此您将看到空白屏幕的过渡。