AnimationDrawable帧持续时间问题

时间:2011-09-28 15:32:59

标签: android

我需要逐帧创建动画但我有一些问题 我有30个png图像组成我的动画,我用这段代码加载我的AnimationDrawable:

        mCurrentAnimation = new AnimationDrawable();
        mCurrentAnimation.setOneShot(true);
        int resId;
        for (int j = 1; j < 31; j++)
        {                  
            resId = getResources().getIdentifier("resName", "drawable", "com.mindcolorstest.main");
            mCurrentAnimation.addFrame(getResources().getDrawable(resId), 1);
        }

逻辑上“mCurrentAnimation.start()”开始 在mdpi设备上动画工作正常,但我有一些问题,每帧的持续时间,在hdpi模拟器或设备上我有一些滞后,如果我将减少帧的持续时间(在mdpi或hdpi设备上)动画将不会更快,比如存在每帧的最小持续时间。 一些提示和技巧?我不知道我要做什么Q_Q 不管怎样,谢谢

1 个答案:

答案 0 :(得分:0)

我同意这一点,即使在S4上我对xml动画列表也大致相同我每帧得到更长的动画时间然后我已经设置了。 (我已将持续时间设置为每帧3毫秒)。
我对每帧的 16,16ms 感到困惑,因为最小平均值超过30个周期和85帧。

这可能会也可能不会回复scheduleSelf(mAnimationRunnable, now + 1000/60);animate()中的DrawableContainer行。只是一个猜测,因为1000/60 = 16,66什么应该变为16为int / long cast ..

但它也可能来自代码或硬件速度的其他限制 我没有检查这一行中的代码是否被调用并导致这种情况,因为我无法以某种方式打破它 但是我认为现实中没有显示器那么快,所以看起来很聪明......