2015-11-19 46 views
1

當我的應用使用Cordova Media插件時,發現內存泄漏問題。我在Android和iOS設備上進行了測試。如果你想知道我是否會調用release方法,是的,我會在完成播放或不再需要的時候釋放音頻。 30 MB的內存在我的設備 -Cordova Media(Ionic App) - 播放音頻和內存泄漏

每當我用

var audio = new Media(src, successCallBack, errorCallBack)

它分配大約20MB創造新的媒體。一旦它完成播放音頻,我打電話audio.release()方法,我確實看到內存10到15秒後釋放。

如果在開始播放前一個音頻後立即播放下一個音頻的連續音頻播放請求,則會出現問題。由前一個音頻分配的內存不會立即釋放,而是與下一個音頻文件的內存堆疊在一起。如果我繼續這樣做,內存使用會永遠增加,直到應用程序由於內存分配問題而停止。我不知道如何自己解決這個問題。

我使用cordova-plugin-media 1.0.1。

我歡迎任何建議。謝謝。

回答

2

@ denden130,
首先我記得在某處讀release()什麼都不做。您很可能會看到操作系統回收內存。但是,如果他們已經修復它,請使用它。但是,我研究過它。 link to bug respositories。我只看到一個與之相關的非常古老的bug。 [Memory leak in media plugin]。您的其他選擇是使用another audio plugin或使用HTML5 Audio API。好運。

+0

感謝您的回覆。我想唯一的選擇是使用不同的插件。如果我找到解決方案,我會在這裏發佈。謝謝! – denden130

+0

@ denden130,謝謝。我想知道什麼工作。注意:有2000多個設備。您的設備有可能是一個奇怪的機會。這裏是[我的筆記](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/market-parameters.md)。請注意,我不相信Google,Apple或Amazon發佈的數字。在發佈數字時,他們都是不真實的 - 並且允許他們的數字被誤解。這導致了他們有多少百分比的誤解。 – JesseMonroy650