如何在QT Android应用程序中解决慢速滚动

How to solve slow scrolling in QT android app

本文关键字:解决 滚动 应用程序 QT Android      更新时间:2023-10-16

我正在尝试制作一个简单的QT Android应用程序,但基本上我的问题是,在主屏幕上,我有大约250个小图像,我想滚动。但是我真的需要滚动才能流畅而快速。首先,我使用QML尝试了它,但是它不是很快,然后我尝试在QT设计器中制作该应用程序并使用小部件,但这非常慢。然后我尝试使用OpenGL,但是在Android上,我只能使用OpenGL ES,我找不到太多示例,因为我发现的每个示例都比我需要的要高得多。

,但基本上我的主要问题是,您认为解决我的问题的最佳方法是什么,如果它的使用方法是最好的解决方法?

谢谢。

与同一设备上的本机应用程序相比,滚动时,两种方法都不应有问题。检查以下内容:

  1. 确保仅在发行构建中衡量性能,而QML调试已禁用并且没有附加调试器。
  2. 也许您的设备在一个视图中根本无法跟上这么多的图像 - 那么这不是QT问题。与"本地" java-app进行比较以查看是否是这种情况。
  3. 检查您是否正确实施了所有内容;例如检查您的主循环中是否有任何事情在您的主循环中播放,或者有些事件发生了反复消耗CPU时间

还有一些更一般的建议:

  1. 将图像降低到适当的视图尺寸,然后再将其添加到UI之前,因为它们可能必须在每个框架更新和/或消耗图形内存中重新尺寸。例如。当要在64x64视图中显示时,请勿将其设置为1024x1024图像
  2. 如果要在固体颜色的背景上显示,请从图像中删除透明度。
  3. 不要用其他小部件/控件覆盖图像
  4. 如果您仍在获得"慢" UI,则可能尝试将全部或多个图像及其周围的UI/控件合并为一个或多个较大的图像
  5. 很长的观看次数不是用户友好的。也许可以实现Pager或Tab-View等,以将您的列表分为多个视图。这样,您也可以减少加载时间
  6. 不要尝试自己在OpenGL中实现界面。您不太可能会比qtwidgets和qtquick变得更好。