Android动画速度太慢

Android动画速度太慢,android,performance,animation,duration,Android,Performance,Animation,Duration,我使用的是一个具有无限重复设置的animationlistener,每次循环时都会调用onAnimationRepeat函数,这一点很重要 当动画持续时间设置为~100ms或更高时,这一切都可以正常工作。我设置的任何较小的值(例如30ms)似乎仍在100ms左右。我在设备和模拟器上都试过了 我正在使用Alphaanimation,但我也尝试了其他类型的android动画 有没有一种方法可以使任何动画正常工作,持续时间设置在50毫秒左右或更快?与其他“滑动”动画相比,AlphaAnimation是

我使用的是一个具有无限重复设置的animationlistener,每次循环时都会调用onAnimationRepeat函数,这一点很重要

当动画持续时间设置为~100ms或更高时,这一切都可以正常工作。我设置的任何较小的值(例如30ms)似乎仍在100ms左右。我在设备和模拟器上都试过了

我正在使用Alphaanimation,但我也尝试了其他类型的android动画


有没有一种方法可以使任何动画正常工作,持续时间设置在50毫秒左右或更快?

与其他“滑动”动画相比,AlphaAnimation是一种资源相当密集的动画

您可以尝试使用进行调查,以确定挂断的确切位置

我怀疑这仅仅是动画的开销减慢了一切

给TraceView打一针,报告结果,我会看看是否能给出进一步的建议


希望这有帮助

我知道这很老了,但对于像我现在这样到处搜索的人来说

尝试将其添加到动画xml中:

android:interpolator=“@android:anim/accelerate\u Decreate\u interpolator”

如果我错了,请纠正我,但我认为它对Translate和Alpha都有效

例如:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:toXDelta="100%p"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:duration="300"/>
</set>


谢谢您的提示。AlphaAnimation在性能上似乎比其他动画更重要。我将它改为ScaleAnimation,现在它稍微好了一点,但仍然没有我需要的那么快。然后我创建了一个fakeAnimation类来扩展Animation,但即使这样,animationlistener也不会像我将.setduration的间隔设置为那样快速触发。您是否尝试使用TraceView查看每个方法需要多长时间?这可能是因为您每次都在实例化动画/动画工厂。在性能方面(尽管您需要小心),如果要反复执行某项操作而没有重叠,则最好使用单个控制器,每次只需重新启动动画,而不是创建一个新的。没有任何更改。。