createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿
createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿
操作步骤:
- 必现
预期结果:
- 无卡
实际结果:
- 卡
bug描述:
- 【报Bug】createInnerAudioContext 切换播20个mp3,第次都重新destroy,在create,播2个小时就卡顿
| 信息类别 | 内容 |
|------------------|----------------------------|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本号 | 11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 4.45 |
| 手机系统 | Android |
| 手机系统版本号 | Android 12 |
| 手机厂商 | OPPO |
| 手机机型 | a72 |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
wx:hao1015l 我已完美解决
更多关于createInnerAudioContext 切换播20个mp3在uni-app中第次都重新destroy在create播2个小时就卡顿的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这个卡顿问题是由于频繁创建和销毁InnerAudioContext实例导致的资源累积。建议优化方案:
- 不要每次播放都destroy/create,改为复用同一个实例:
// 全局或页面级声明
const innerAudioContext = uni.createInnerAudioContext();
// 切换音频时只需修改src
innerAudioContext.src = 'new.mp3';
innerAudioContext.play();