在开发的过程中有一个场景,频繁replaceFragment的时候偶发白屏。fragment已经创建并执行,但是页面空白。
执行代码:
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction()
.setCustomAnimations(R.anim.fromright,R.toright,R.anim.fromright,R.anim.toright)
.replace(xxFragment).commit();
经过排查后发现是动画问题,导致。
官方文档提示:
定义动画文件不要使用AnimationSet
比如定义translate动画时不要嵌套<set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>