2015-11-19 1 views
1

Я обнаружил проблему с утечкой памяти при использовании плагина Cordova Media для моего приложения. Я тестировал на устройствах Android и iOS. Если вам интересно, вызываю ли метод release, да, я выпускаю звук после завершения игры или когда он больше не нужен.Cordova Media (Ionic App) - Воспроизведение звука и утечки памяти

Всякий раз, когда я создаю новые средства массовой информации с помощью

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

выделяет около 20Мб - 30 МБ памяти на моих устройствах. После завершения воспроизведения звука я вызываю метод audio.release(), и я вижу, что память освобождается через 10 - 15 секунд.

Проблема возникает, если я делаю последовательный запрос воспроизведения звука для воспроизведения следующего звука сразу после начала воспроизведения предыдущего аудио. Память, выделенная предыдущим звуком, сразу не освобождается, и она складывается со следующей памятью аудиофайла. Если я продолжу это, использование памяти будет увеличиваться навсегда, пока приложение не остановится из-за проблемы с распределением памяти. Я не уверен, как решить проблему самостоятельно.

Я использую cordova-plugin-media 1.0.1.

приветствую любые советы. Спасибо.

ответ

2

@ denden130,
Сначала я помню, где-то читал, что release() ничего не делает. Вероятно, вы видите, как ОС восстанавливает память. Однако, если они исправили его, используйте его. Однако я изучил это. link to bug respositories. Я вижу только одну очень старую ошибку, которая связана. [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

Смежные вопросы