我的应用程序有某些操作需要渲染复杂的布局。在那段时间里,我想要展示动画。我试图在dispatchDraw()中处理动画,但由于渲染需要很长时间,因此UI dispatchDraw()永远不会有机会执行。 (优化它会很好,但现在不是我的首要任务。)
这是我动画代码的重要部分:
ValueAnimator animator = ValueAnimator.ofFloat (1f, 2f);
animator.setDuration (1000);
animator.addUpdateListener (new ValueAnimator.AnimatorUpdateListener()
{
public void onAnimationUpdate (ValueAnimator animation)
{
zoomScale = (float) animation.getAnimatedValue ();
invalidate ();
}
});
有没有办法在onAnimationUpdate()期间直接绘制,而不是依赖invalidate()?
或者,有没有办法在长时间onLayout()期间放弃UI线程?