红米4X 7.0 API24 出现Activity无法finish的问题

系统:MUI9.0|稳定版

大部分手机都没有问题,只有红米系统出现,之前的代码:

ObjectAnimator animator = ObjectAnimator.ofFloat(mMoveView, "translationX", to);
        animator.addUpdateListener(animation -> {
            handleViewAlpha();
        });
        //随着移动跟新透明度
        animator.setDuration(250).start();
        if (exit) {
            animator.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    super.onAnimationEnd(animation);
                    //关闭 Activity
                    if (mOnLockFinishListener != null) {
                        mOnLockFinishListener.onAnimationEnd();
                    }
                }

                //放到后面,在Activity关闭后出现泄漏问题
                super.onAnimationEnd(animation);
            });
        }

        //应换一下调用顺序:
        //先关闭动画,在关闭Activity
        super.onAnimationEnd(animation);

        //关闭 Activity
        if (mOnLockFinishListener != null) {
            mOnLockFinishListener.onAnimationEnd();
        }

🌴只要保证正确执行顺序即可:

//先关闭动画,在关闭Activity
super.onAnimationEnd(animation);

//再关闭 Activity
if (mOnLockFinishListener != null) {
   mOnLockFinishListener.onAnimationEnd();
}
posted @ 2020-10-15 16:38  javakam  阅读(179)  评论(0)    收藏  举报