Android标签滚动滞后

时间:2013-06-10 15:17:19

标签: android tabs android-fragments

我正在创建一个使用可滚动标签的应用程序,我注意到当我只有一个标签内的文字从一个屏幕滑到另一个时无缝地工作,但是当我有一个页面时,有8个按钮,当按下时播放一个mp3例如,刷进和退出该页面需要一段时间。这一切都是在Fragments完成的。我注意到一些应用程序(如谷歌播放音乐应用程序)有标签,有比我的更多的互动内容和滚动很好。有没有人知道如何加快标签上的性能?我试过谷歌搜索解决方案,但我没有成功。

2 个答案:

答案 0 :(得分:2)

很难准确地为应用程序的性能提供修复,而不会看到任何代码或看到它的实际效果,但这里有一些常规提示。滑动是不稳定的,因为下一个标签需要一段时间才能绘制,过渡需要一段时间来制作动画。

  • 避免复杂的布局
  • 避免大量的Alpha透明度
  • 避免使用alpha
  • 覆盖其他布局
  • 避免深层嵌套布局
  • 避免使用嵌套的layout_weight
  • 如果您使用的是ListView / GridView,请确保重新使用该视图,然后使用ViewHolder
  • 如果您使用了大量图片,请确保cache them
  • 如果您的平台/设备支持,请尝试启用Hardware Acceleration

为什么不尝试完全简化标签的测试 - 其中没有任何内容?你能通过删除视图获得良好的刷卡性能吗?然后开始构建您的视图,以找出导致问题的原因。这就是我诊断问题的方法。

答案 1 :(得分:1)

如果您正在使用视图寻呼机制作材料设计滑动标签,那么您可以使用显着提高性能 viewPager.setOffscreenPageLimit(3); 这基本上设置了除当前选项卡外还将运行的选项卡数。因此,代替3,您可以提供总标签数 - 1,因为您当前的标签也在运行。但是,建议您不要使用超过3个标签,否则您的应用会消耗太多资源,可能会被杀死。