2010-06-11 36 views

回答

0

從我所瞭解的情況來看,它緩衝了文件,並且通過使用音頻隊列可以更好地控制此過程。 OpenAL的大多數實現將一次加載整個文件,這可能非常密集。

您可以使用prepareToPlay預緩衝,但說實話,我從來沒有使用wav,caff或mp4的任何明顯滯後。調用play方法必須預先緩衝音頻。

在AVAudioPlayer的所有使用中,它通常只會導致內存分配的臨時跳轉。只要您在播放完成後釋放播放器,內存就不成問題。我一次演奏多達15種聲音,從來沒有問題。

有關音頻的更多信息:http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/AudioandVideoTechnologies/AudioandVideoTechnologies.html

+0

我同意。測試時我有類似的經歷。這只是我希望我的用戶能夠公平地瞭解他們在使用我的抽象時使用了多少內存。 – Plumenator 2010-06-12 13:50:18

+0

如果您需要確切金額,請確保使用Object Allocations工具在設備上運行。它在'Run'下的性能工具菜單中 – iwasrobbed 2010-06-12 21:59:12