ViewFlipper具有'巨大'的延迟
我有一个ViewFlipper,它在调用showPrevious时运行视图动画。动画效果很好。但问题是,它以超过1秒的延迟开始。现在看起来并不多,但严重延迟了应用程序的使用。ViewFlipper具有'巨大'的延迟
我的动画是这样的;
Animation inFromLeft = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, -1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
inFromLeft.setDuration(350);
inFromLeft.setInterpolator(new LinearInterpolator());
Animation outtoRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outtoRight.setDuration(350);
outtoRight.setInterpolator(new LinearInterpolator());
我设置使用setInAnimation
和setOutAnimation
动画;
setInAnimation(inFromLeft);
setOutAnimation(outtoRight);
然后,我刚刚推出使用showPrevious
动画是没有任何理由的动画与超过1秒的延迟启动,该开始时间为动画是-1,开始偏移为0。
两个建议。首先,如果可能,切换到使用ViewPager。其次,如果第一个不可能,那么使用基于XML的动画。将代码推出代码并投入资源通常是一种胜利。
你确定延迟发生在动画中吗?你有没有尝试添加一些日志记录,包括AnimationListener的startAnimation方法?
如果您确定在开始动画后延迟即将到来,则可以在启动动画之前和动画完成之后(再次使用AnimationListener)尝试使用traceview。这会告诉你Android在做什么。
面对与@MrThys相同的问题,但只能看到姜饼设备上的问题。在JellyBean设备上没有这样的问题。
这是一条评论,而不是答案。 – Joel 2013-07-30 21:06:47
你说得对。但是我无法对实际的帖子进行投票/评论,并且面临同样的问题。已经尝试过基于XML的动画,但他们没有帮助。 – user1102412 2013-07-30 21:20:51
这并不能证明将其作为答案发布。等到你有足够的声望或自己提出一个不同的问题。 – Joel 2013-07-31 13:36:11
解决方案是切换到ViewPager,动画不完全是我想要的,但延迟消失了。将动画更改为XML不会改变任何内容。 – Thys 2012-09-06 07:49:46