【问题标题】:Cordova Media (Ionic App) - Playing Audio & Memory LeakCordova Media (Ionic App) - 播放音频和内存泄漏
【发布时间】:2019-11-29 16:50:49
【问题描述】:

我在为我的应用程序使用 Cordova Media 插件时发现了内存泄漏问题。我在 Android 和 iOS 设备上都进行了测试。如果您想知道我是否调用了 release 方法,是的,我会在音频完成播放或不再需要时释放音频。

每当我使用

创建新媒体时

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

它在我的设备上分配了大约 20MB - 30MB 的内存。完成音频播放后,我调用 audio.release() 方法,我确实看到内存在 10 到 15 秒后确实被释放了。

如果我在开始播放上一个音频后立即发出连续音频播放请求以播放下一个音频,则会出现此问题。前一个音频分配的内存不会立即释放,它会与下一个音频文件的内存堆叠。如果我继续这样做,内存使用量将永远增加,直到应用程序由于内存分配问题而停止。我不知道如何自己解决这个问题。

我使用cordova-plugin-media 1.0.1。

我欢迎任何建议。谢谢你。

【问题讨论】:

    标签: cordova ionic


    【解决方案1】:

    @denden130,
    首先我记得在某处读到 release() 什么都不做。您可能会看到操作系统回收内存。但是,如果他们已修复它,请使用它。不过,我已经调查过了。 link to bug respositories。我只看到一个相关的非常古老的错误。 [Memory leak in media plugin]。

    您的另一种选择是使用another audio pluginHTML5 Audio API。祝你好运。

    【讨论】:

    • 感谢您的回复。我想唯一的选择是使用不同的插件。如果我找到解决方案,我会在这里发布。谢谢!
    • @denden130,谢谢。我想知道什么有效。注意:有 2000 多个设备。您的设备有可能是个奇怪的东西。这里是my notes。请注意,我不相信谷歌、苹果或亚马逊发布的数字。众所周知,他们在发布数字时都是不真实的 - 并允许他们的数字被误解。这会导致对他们的百分比产生误解。
    猜你喜欢
    • 1970-01-01
    • 2011-10-11
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多