2010-03-04 13 views
2

我有一些麻煩,實現從我的應用程序足夠的實時性能,不知道如果我的建築師-ED是次優。要求是應用程序播放聲音,並按用戶指定的時間間隔在Canvas上繪製一條線。的Android架構的實時應用

我有一個Thread睡覺的用戶指定的時間間隔,醒來,並使用HandlerRunnable進行所需的繪圖和聲音播放。當我運行應用程序時,節拍有時會穩定,但有時可以看到AudioFlinger的GC和隨機警告條件的影響。

是具有通過處理程序/可運行一個線程Timer後回到GUI線程的最佳方法?我可以做些什麼來提升應用程序的優先級,以便其他應用程序和Android活動不太可能中斷它?我是否需要使用NDK訪問Java API中不存在的實時功能?

回答

2

這聽起來像你想要的是一個遊戲循環。有很多關於創建遊戲循環的教程,其中包含更多一致的時機,例如simple java android game loop.您可以嘗試基於該術語進行搜索,看看它是否有幫助。

1

還試圖創建實時應用程序時(如在不斷動態應用不scientific real time system)你想避免讓垃圾收集器運行。這需要一些時間,可以被視爲滯後。所以不要立即創建需要處理的對象等。