From 505efbdef6579383c20f20d5933cf6523c3c6216 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sun, 3 Apr 2016 17:18:41 +0800 Subject: [PATCH] Avoid unnecessary invalidate in GalleryView --- .../java/com/hippo/ehviewer/gallery/gl/GalleryView.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/gallery/gl/GalleryView.java b/app/src/main/java/com/hippo/ehviewer/gallery/gl/GalleryView.java index bf054bfeb..273b61e41 100644 --- a/app/src/main/java/com/hippo/ehviewer/gallery/gl/GalleryView.java +++ b/app/src/main/java/com/hippo/ehviewer/gallery/gl/GalleryView.java @@ -114,6 +114,7 @@ public class GalleryView extends GLView implements GestureRecognizer.Listener { private boolean mEnableRequestFill = true; private boolean mRequestFill = false; + private boolean mWillFill = false; private boolean mScale = false; private boolean mScroll = false; @@ -311,7 +312,9 @@ public class GalleryView extends GLView implements GestureRecognizer.Listener { public void requestFill() { if (mEnableRequestFill) { mRequestFill = true; - invalidate(); + if (!mWillFill) { + invalidate(); + } } } @@ -803,6 +806,7 @@ public class GalleryView extends GLView implements GestureRecognizer.Listener { @Override public void render(GLCanvas canvas) { + mWillFill = true; int oldCurrentIndex = mCurrentIndex.get(); // Dispatch method @@ -814,6 +818,7 @@ public class GalleryView extends GLView implements GestureRecognizer.Listener { } fill(); + mWillFill = false; super.render(canvas); mEdgeView.render(canvas);