在运行5.0.1的Nexus 4上运行我的应用程序时,我发现这种情况发生了。可能是什么导致了这个?我以前从未见过这个。在我看来,屏幕上的脸部画面是持久的...可能是由于脸部无效而不是整个屏幕造成的?下面是我用来设置面部动画的代码,我的猜测是由于我开始动画时以及我如何使视图无效而发生。
在运行5.0.1的模拟器上不会发生这种情况。
视图无效只是脸部。
private Handler frame = new Handler();
private Runnable frameUpdate = new Runnable() {
@Override
synchronized public void run() {
frame.removeCallbacks(frameUpdate);
((Face) findViewById(R.id.the_canvas)).invalidate();
frame.postDelayed(frameUpdate, FRAME_RATE);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
final View root = findViewById(R.id.root);
root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Graphics
initGfx();
if (Build.VERSION.SDK_INT >= 16)
root.getViewTreeObserver().removeOnGlobalLayoutListener(this);
else
root.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
}
synchronized public void initGfx() {
frame.removeCallbacks(frameUpdate);
frame.postDelayed(frameUpdate, FRAME_RATE);
}