2011-03-30 131 views
0

我的應用程序在自己的線程中處理音頻,並使用AudioUnits播放緩衝區。Iphone線程優先

當我的應用程序進入我開始聽到從我的聲音平靜了一些小問題的背景。
現在這不是最糟糕的部分。

在我進入我可以通過我的應用程序滾動的UIScrollView在我的音頻線沒有問題的背景下,但之後,我從後臺返回任何滾動導致故障在我的音樂。

我檢查之前和之後backgrounding使用[[NSThread currentThread] threadPriority]我的線程優先級和那些似乎並沒有什麼不同。

可能是什麼問題?

回答

1

想通了。我在發佈設置下重建了應用程序,現在一切正常,聽起來很棒。

1

可能是什麼問題?

很可能,您的音頻處理是計算密集型的,並且沒有足夠的CPU週期讓系統保持對用戶輸入的響應並允許您的計算全速運行。系統正在嘗試保持UI響應並抑制計算,導致跳過。

的修復很可能會是讓你的計算使用較少的CPU,無論是通過提高效率或者少做工作。

+0

我已經解決了這個問題。令我困惑的是,Scrolling和其他用戶界面不會影響我的音頻處理,直到應用程序進入後臺。 – Dmacpro 2011-03-30 03:57:21

+0

只要你的應用程序在後臺,根據定義,有另一個應用程序在前臺運行,消耗資源等等......你正在爭奪同一組資源,但競爭更激烈。不知道更多,很難具體說。 – bbum 2011-03-30 03:58:48

+0

是的,我只是不明白爲什麼,當它回到前臺並重置我的線程優先級時,我的音頻引擎表現得像它仍然在後臺? – Dmacpro 2011-03-30 04:02:07