1

我正在制作一个使用可滚动选项卡的应用程序,我注意到当我在一个选项卡中的文本从一个滑动到另一个无缝工作时,但是当我有一个页面时,有 8 个按钮,当按下播放 mp3 时,它需要一段时间来刷入和刷出该页面。这一切都在完成Fragments。我注意到一些应用程序(例如 Google 的 Play Music 应用程序)的标签比我的具有更多的交互内容,并且滚动很好。有谁知道如何提高标签的性能?我试过用谷歌搜索解决方案,但没有成功。

4

2 回答 2

2

如果没有看到任何代码或看到它在运行中,很难准确地为您的应用程序的性能提供修复,但这里有一些一般性提示。滑动是不稳定的,因为下一个选项卡需要一段时间来绘制,而过渡需要一段时间来制作动画。

  • 避免复杂的布局
  • 避免大量的 alpha 透明度
  • 避免布局超过其他带有 alpha 的布局
  • 避免深度嵌套的布局
  • 避免使用嵌套layout_weight
  • 如果您使用的是 ListView/GridView,请确保您重新使用视图,并使用ViewHolder
  • 如果您使用大量图像,请确保缓存它们
  • 如果您的平台/设备支持硬件加速,请尝试打开它们

为什么不尝试一个完全简化选项卡的测试——其中没有任何内容?您可以通过删除视图在您的应用程序上获得良好的滑动性能吗?然后开始重新构建您的视图以找出导致问题的原因。这就是我诊断问题的方式。

于 2013-06-11T06:41:05.647 回答
1

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

于 2016-02-28T05:53:35.820 回答