当时做一个进入超级省电桌面的过渡动画页,底部有个圈,不停地360度旋转直到动画页结束。
但是我发现这个圈在转到第半圈的时候就会卡顿,导致整个页面都卡住,卡零点几秒之后接着继续转动。
在试过换用多个ImageView用不同的animation,换用ValueAnimation,使用RotateAnimation以及在异步线程中进行超级省电设置(防止进行省电设置是一个耗时操作,但是这样也没用)
最后发现是在动画开始时,超级省电那边的各种禁用政策开始起作用,包括杀进程以及禁用谷歌服务框架,同时还把全面屏等禁用,但是在将主题模式改为夜间模式的时候,导致了重新走了一遍activity的生命周期,这样就导致整个动画会重新开始(但在这里是以卡顿形式表现)。
所以最后对动画页面的Activity在Mainifest文件的地方加上了uimode(夜间模式)