我在Galaxy Nexus上遇到了一個非常奇怪的問題。我想要做的是在我的服務(音樂相關的應用程序)開始時將48個OGG示例加載到SoundPool中。每個文件是11-15K。加載代碼很簡單:Galaxy Nexus上極慢的OGG解碼
for (String note : sm) { // 48 iterations
int soundId = soundPool.load(getResources().getAssets().openFd(note), 1);
loadedSoundsMap.put(note, soundId);
}
我有分寸,關於我的Nexus One 2.3.6我的負荷在1-2秒內。但是在全新的Galaxy Nexus 4.0.2上,它會在9秒內加載!
我真的懷疑這是一個文件IO需要花費很多時間來讀取總共1mb,所以我認爲解壓縮器實現中有些東西被搞砸了。
任何人都可以提出什麼可能會導致這麼慢的工作?
P. S. Mp3給出了大致相同的圖片。
嗯......這可能是因爲SoundPool是本地實現..另一方面 – EvilDuck 2012-02-12 10:49:26
AFAIK每個手機都有專門爲其處理器編譯的本機庫,因爲很明顯,你知道他們將運行哪個設備而不像APK。 – EvilDuck 2012-02-14 07:55:25