屏幕变形在Nexus 4 5.0.1上

时间:2015-03-10 15:25:10

标签: android android-5.0-lollipop

在运行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);
}

0 个答案:

没有答案