當測試我們的遊戲時,這是嚴重依賴於System.currentTimeMillis()
,我們遇到了一個惱人的錯誤。我們遊戲中的時間錯誤,currentTimeMillis凍結?
我們的遊戲使用一個delta時間戳數組,指示何時應該發生某些事情。這些時間戳與一段正在播放的音樂相匹配。
家庭測試完全沒有問題。在我們家進行測試時,不可能重現錯誤。
但是,在車內和城市之間駕車時進行測試會給我們提供時間戳和音樂之間的同步問題。我最好的猜測是,Android會凍結系統,包括系統定時器,因爲它正在交換網絡,或者尋找信號?
我試過在遊戲中插入一個假冒hick-up,當我按下某個按鈕時讓線程睡眠幾秒鐘。這顯然凍結了屏幕,但是當睡眠結束時,一切仍然同步。
重現此錯誤的唯一方法是乘坐汽車或公共汽車或火車旅行 - 當然這最有可能是大多數人在玩我們的遊戲時所在的地方。
問題是當然的,
該怎麼辦呢?
有沒有人有任何想法?
你的遊戲是什麼?你能解釋一下嗎? –
它現在在這裏:www.PirateDiamonds.com :-) –
然後恭喜! :) –