2017-09-27 40 views
-1

我想做一個簡單的QT android應用程序,但基本上我的問題是,在我的主屏幕上我有大約250個小圖像,我想滾動。但我真的需要滾動流暢和快速。首先,我使用QML嘗試了它,但它並不是非常快,然後我嘗試在qt設計器中製作應用程序,並使用小部件,但速度很慢。然後我嘗試使用openGL,但在android上,我只能使用openGL ES,因此我找不到太多的例子,因爲我發現每個例子都比我需要的要先進得多。如何解決在QT中慢速滾動android應用程序

但基本上我的主要問題是,你認爲什麼是解決我的問題的最好方法,如果它的openGL使用它的方式是最好的解決方法?

謝謝。

回答

0

與同一設備上的本機應用程序相比,這兩種方法在滾動時都不會出現問題。檢查以下內容:

  1. 請確保僅在發佈 - 構建中測量性能,禁用QML調試並且不附加任何調試器。
  2. 也許你的設備在一個視圖中無法跟上太多圖像 - 那麼這不是Qt問題。與'本地'java-App進行比較,看看是否屬於這種情況。
  3. 檢查您是否正確實施了一切;例如檢查那裏有什麼在你的主迴路運行,或者一些事件一再happenening消耗CPU時間

而且一些一般性的建議:

  1. 下限值您的圖像到相應的視圖大小將它們給前用戶界面,因爲它們可能不得不在每一幀更新和/或消耗圖形內存。例如。當它要顯示在64x64視圖中時,請不要將源設置爲1024x1024圖像
  2. 如果圖像要在純色背景上顯示,請從圖像中移除透明度。
  3. 不要覆蓋控制
  4. 與其他部件的圖像/如果你仍然得到一個「慢」 UI,也許嘗試合併所有或多個圖像和其周圍的UI /控制到一個或多個更大的圖像
  5. 非常長的視圖不方便用戶使用。也許實現一個尋呼機或標籤視圖等將您的列表分成多個視圖。這樣你也可以減少加載時間
  6. 不要試圖自己在openGL中實現一個接口。與QtWidgets和QtQuick相比,你不太可能做出更好的選擇。
+0

感謝您的回答,但... 我總是在釋放試驗版本,我想它在多個設備上,甚至在iOS上,但它不是任何地方完善。我的實現是100%正確的。大多數情況下,我只是爲了測試這個問題而在我的程序中測試滾動,所以除了屏幕圖像以外沒有別的。它們真的縮小了尺寸,而且尺寸非常小。第二件事是我需要使用圖像作爲標籤的對象,用戶應該能夠點擊它們,所以它們不僅僅是圖像。我現在非常絕望:/ – merlinko