我正在使用带有INFINITE重复设置的animationlistener,每次它循环调用onAnimationRepeat函数都很重要。Android动画速度太慢
这一切都适用于设置为〜100ms或更高的动画持续时间。我设置的任何较小值(例如30ms)仍然似乎在100ms左右。我在设备和仿真器上试过这个。
我正在使用Alphaanimation,但我也尝试过其他类型的android动画。
有没有办法使任何动画能够正常工作,持续时间大约为50ms或更快?
我正在使用带有INFINITE重复设置的animationlistener,每次它循环调用onAnimationRepeat函数都很重要。Android动画速度太慢
这一切都适用于设置为〜100ms或更高的动画持续时间。我设置的任何较小值(例如30ms)仍然似乎在100ms左右。我在设备和仿真器上试过这个。
我正在使用Alphaanimation,但我也尝试过其他类型的android动画。
有没有办法使任何动画能够正常工作,持续时间大约为50ms或更快?
与其他“滑动”动画相比,AlphaAnimation相当资源密集的动画。
您可以尝试使用TraceView进行调查,以确切查看挂断的位置。
我怀疑它只是动画的开销,会放慢一切。
给TraceView一个镜头,报告结果,我会看看是否可以给出进一步的建议。
希望这会有所帮助!
我知道这是旧的,但对于像我现在一样使用谷歌搜索的人。
尝试加入到这个动画XML:
机器人:插值=“@安卓:动画/ accelerate_decelerate_interpolator”
纠正我,如果我错了,但我认为它同时适用于翻译和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 **设置间隔那样快。 – UncleIstvan
您是否尝试使用TraceView查看每种方法需要多长时间?这可能是因为您每次都在实例化Animation/AnimationFactory。如果您要一遍又一遍地重复执行某些操作,并且每次都重新启动动画,而不是创建一个新的动画,那么在性能方面更好(尽管您需要小心),以便使用单个控制器。 – Codeman