我正在使用Google的compat lib爲在2.2+上運行的設備在我的應用(Target SDK 16,Min SDK 8)中啓用片段。從功能上來看這個運行所有罰款,但通過「pre-butter」中的「Buttery」片段動畫Android
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(inTransition, outTransition, popInTransition, popOutTransition);
其中inTransition
是一個簡單的翻譯像
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="@integer/animation_duration" />
</set>
和outTransition
設置視圖動畫的性能是一個動畫漸變像
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@integer/animation_duration" />
</set>
只是普通的可怕在我的Galaxy S2(4.0.3),即對於持續約350毫秒我會約說的動畫。一半的幀被丟棄。我注意到,如果禁用淡出效果,效果會稍微好一些(但不會太好),但當然動畫的完整效果消失了,因爲原始片段會立即變黑。我也嘗試了代碼的發佈版本,但是性能也沒有提高。
我在做什麼錯?我如何使片段動畫更流暢?
你有什麼動畫,具體是什麼?出於某種原因,您是否禁用硬件加速?你的'targetSdkVersion'是什麼? – CommonsWare
硬件加速是正確的提示!我無法相信我監督了這一點。現在它運行平穩,因爲它應該在4.0以上 - 謝謝一堆! 順便說一句:添加一個普通的答案,所以我可以接受它:) –