设备跳过帧但不在模拟器中

时间:2014-02-26 14:20:07

标签: android animation

我有一个非常奇怪的问题,我在模拟器上运行以下代码处理它(GenyMotion)。但是在Nexus 5上运行的相同代码会发出跳帧警告。

private void SwipeRight() {
    page.setInAnimation(this, android.R.anim.fade_in);
    page.setOutAnimation(this, android.R.anim.fade_out);

    page.showPrevious();
}

private void SwipeLeft() {
    page.setInAnimation(this, android.R.anim.fade_in);
    page.setOutAnimation(this, android.R.anim.fade_out);
    page.showNext();
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    // TODO Auto-generated method stub
    return gestureDetector.onTouchEvent(event);
}

SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener() {

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
        float sensitvity = 2900;
        if (-velocityX > sensitvity) {
            SwipeLeft();
        } else if (velocityX > sensitvity) {
            SwipeRight();
        }

        return true;
    }

};

GestureDetector gestureDetector = new GestureDetector(
        simpleOnGestureListener);

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
 android:shareInterpolator="false">
   <translate
 android:fromXDelta="0%" android:toXDelta="100%"
 android:fromYDelta="0%" android:toYDelta="0%"
 android:duration="700" />
</set>

1 个答案:

答案 0 :(得分:0)

问题涉及具有单独的背景图像而不是预加载它们。这会导致FPS跳过等问题影响不同的设备。