3.8.3抖音小程序内存一直涨,频繁播放音频问题

export class NewComponent extends Component {

@property(AudioClip) audioClip: AudioClip = null!;

private audioSource: AudioSource = null!;

start() {

    this.schedule(() => {

        if (this.audioSource) {

            this.audioSource.play();

        } else {

            this.audioSource = this.node.addComponent(AudioSource);

            this.audioSource.clip = this.audioClip;

            this.audioSource.playOnAwake = false;

            this.audioSource.loop = false;

            this.audioSource.play();

        }

    }, 0.1);

}

update(deltaTime: number) {

}

}
这个组件频繁播放音效,内存就一直涨直到抖音小程序闪退,使用playOneShot也是一样的NewProject_6.zip (13.3 KB)

ios点右上角三个点打开性能数据就能看到memory一直往上涨

收到,我这边看下

有解决方法的话麻烦回复一下,谢谢了

我这边测试了android上是没问题的,因为引擎是调用平台层的接口,如果你那边android也不会复现;建议您这边反馈给字节

字节在引擎上的适配代码是


适配代码调用的是平台层(字节) 提供的接口。

我这边测试使用的是ios的机器,安卓的暂时没发现问题

你好,我这边使用了抖音的播放接口是不会造成内存不足问题的,估计还是引擎的接口有问题,我把我测试的demo上传给你看看NewProject_6 (2).zip (14.7 KB)

我这边测试的手机型号是iphone8和iphone12,这两个型号都存在一样的问题,抖音小程序那边的性能数据界面(我昨天发的图片那个界面)memory会不断上涨,安卓其实也有问题,挂机时间足够长小程序也会崩溃

和引擎类似的使用方式吗?直接调用抖音接口

我还没看引擎的代码噢,不过我的使用方式刚才放在demo里上传了

看了下用的是同一个api不过我这里的逻辑就比较简单没这么复杂

引擎的使用方式的类似webaudio的方式,你的方式不是吧

我这里只是把抖音那边的示例代码拿过来简单修改了一下

了解,我跟字节反馈下

字节回复用sourceBuffer的方式频繁创建出现内存泄漏是已知问题,他们后面版本才修复。
目前引擎默认用InnerAudioContext的播放方式绕过。请参考这个pr

1赞

收到,谢谢

我问下关于内存的问题 我用IOS 手机测试发现内存只增不减 请问你有什么好办法?Auto Release Assets也勾选了 tt.triggerGC也用了