Android ActivityTransition:OnActivityReeenter:onPreDraw从未调用

Android ActivityTransition:OnActivityReeenter:onPreDraw从未调用,android,android-transitions,Android,Android Transitions,我遇到了一个非常奇怪的问题,即推迟过渡 我在ActivityReeenter中推迟了返回转换。但这里的问题是,如果我在手机的设置中勾选了“不要保留活动”,应用程序在大多数情况下都会挂起并显示两个活动 我发现在这种情况下,onActivityReenter仍然会被调用。但是,onPreDraw不会被调用,这应该由onpredrawstener调用,并恢复延迟的转换。所以我永远推迟转换 那里会发生什么? 代码可以找到。我也遇到过同样的问题。它只出现在特定的情况下,甚至不是100%的时候 在添加侦听器

我遇到了一个非常奇怪的问题,即推迟过渡

我在ActivityReeenter中推迟了返回转换。但这里的问题是,如果我在手机的设置中勾选了“不要保留活动”,应用程序在大多数情况下都会挂起并显示两个活动

我发现在这种情况下,
onActivityReenter
仍然会被调用。但是,
onPreDraw
不会被调用,这应该由
onpredrawstener
调用,并恢复延迟的转换。所以我永远推迟转换

那里会发生什么?
代码可以找到。

我也遇到过同样的问题。它只出现在特定的情况下,甚至不是100%的时候

在添加侦听器后再次请求布局对我来说很有效

myView.getViewTreeObserver().addOnPreDrawListener(<snip>);
myView.requestLayout(); //Force a layout pass
myView.getViewTreeObserver().addOnPreDrawListener();
myView.requestLayout();//强制布局传递
我很确定这表明Android中存在一个bug,但我还无法创建一个可靠的测试用例。不知何故,它跳过了布局过程的一部分,因此侦听器永远不会被调用。调用
requestLayout()
会强制执行完整的布局过程