I'm using a ViewAnimator (parent class of ViewFlipper) to make some kind of interactive book.
The hierarchy is roughly like this:
<ViewAnimator>
<include layout="@layout/p0" />
<include layout="@layout/p1" />
<include layout="@layout/p2" />
...
</ViewAnimator>
So the pages of the book are inside the ViewAnimator. Each page has a FrameLayout with multiple layers of animated ImageViews, TextViews, Buttons... which turned out to be too much. Displaying a new page of the book via viewAnimator.showNext() can take seconds. All that time is spent in ImageView.onDraw() -Traceview.
-Will any layout alternative to ViewAnimator (ViewPager, other implementations of ViewGroup...) improve anything?
-Is there any way to preload the views a ViewFlipper/ViewAnimator/other will show next? (so that the next page of the book is always ready and happy in memory)
-Should I use Canvas or GLSurfaceView? (cannot use the animation framework)
I'm stuck... can you help?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…