我正在使用viewAnimator(viewFlipper的父类)制作某种交互式书籍。
层次结构大致如下:
<ViewAnimator>
<include layout="@layout/p0" />
<include layout="@layout/p1" />
<include layout="@layout/p2" />
...
</ViewAnimator>
所以书的每一页都在viewanimator中。每个页面都有一个框架布局,其中包含多个动画图像视图、文本视图、按钮…结果太多了。通过viewAnimator.showNext()显示本书的新页可能需要几秒钟。所有的时间都花在imageview.ondraw()-traceview上。
-除了viewanimator(viewpager,viewgroup的其他实现…)之外,还有其他布局可以改进吗?
-是否有任何方法可以预加载ViewFlipper/ViewAnimator/Other下一步将显示的视图?(这样,这本书的下一页就永远准备好了,在记忆中永远快乐)
-我应该使用画布还是glsurfaceview?(无法使用动画框架)
我被卡住了…你能帮忙吗?
最佳答案
若要提高ViewFlipper的性能,可以设置
android:measureAllChildren=“假”
在XML中。对于framelayout,这通常设置为false,但viewanimator默认情况下会由于某些原因启用它。
把它设为false为我解决了一个非常奇怪的延迟问题。