我已經用一些簡單的動畫編寫了一個非常簡單的遊戲,但我注意到當手機檢查電子郵件或其他幾個應用程序正在運行時,線程中更新的動畫開始運行緩慢或波濤洶涌。由於後臺進程導致的Android線程問題
這是一個問題,因爲遊戲機制需要根據動畫對屏幕觸摸進行一些仔細的計時。所以,如果它開始表現不規律,那麼這款遊戲並不會很好 - 而且沒有多少樂趣。
有沒有辦法來防止這種情況?當他們需要運行時,我的線程能有更高的優先級嗎?
我已經用一些簡單的動畫編寫了一個非常簡單的遊戲,但我注意到當手機檢查電子郵件或其他幾個應用程序正在運行時,線程中更新的動畫開始運行緩慢或波濤洶涌。由於後臺進程導致的Android線程問題
這是一個問題,因爲遊戲機制需要根據動畫對屏幕觸摸進行一些仔細的計時。所以,如果它開始表現不規律,那麼這款遊戲並不會很好 - 而且沒有多少樂趣。
有沒有辦法來防止這種情況?當他們需要運行時,我的線程能有更高的優先級嗎?
嘗試將線程優先級設置爲最大值。這可以使在android系統上渲染線程的性能有很大的區別:
mThread.setPriority(Thread.MAX_PRIORITY)
如果您在運行遊戲時切換到手機/或其他應用程序,請停止遊戲線程。檢查基礎知識,比如浪費東西的「新東西」,不必要的東西。作爲最後一次修復,您可能想要使用GL上下文執行一些繪圖。
希望這有助於:)
從我的Android源代碼已經看到了,這似乎是改變線程優先級的首選方式,不幸的是,我可以」找不到這個多文檔與使用Thread類:
Process.setThreadPriority(Process.THREAD_PRIORITY_URGENT_DISPLAY);
好了,遊戲運行正常的大部分時間,但後來有時候,當手機開始做別的事情,繪圖速度變慢,可能是因爲手機正在忙着做別的事情。 –