开发者社区> 问答> 正文

alivc-im.js,alivc-im.wasm.br这两个文件在ios设备上存在卡顿问题

做直播消息互动在微信小程序中集成了这个sdk,在Android机上很流畅,但是运行在ios设备上非常卡,配置低点的直接闪退。
如下代码都会很慢(总之凡是engine相关的操作都会很慢):

await engine.init({
    appId: config.liveAppId, 
    appSign: config.liveAppSign, 
    logLevel: ImLogLevel.ERROR, ImLogLevel.DBUG

    locateFile: (url) => {
        if (url.endsWith('.wasm')) {
            return '/pages/promotion/static/alivc-im.wasm.br';
        }
        return url;
    },
});

await engine.login({
    user: {
        userId: userId, 
        userExtension: JSON.stringify(userExtension),
    },
    userAuth: info,
});

// 进入群组
async enterGroupManager(groupId, groupManager, messageManager) {
    await groupManager.joinGroup(groupId);
    const groupInfo = await groupManager.queryGroup(groupId);
},

展开
收起
游客xrozxe64i6ve2 2024-03-19 10:37:37 83 0
2 条回答
写回答
取消 提交回答
  • 微信小程序中集成的直播消息互动 SDK 在 Android 设备上表现流畅但在 iOS 上出现卡顿甚至配置较低的设备上闪退。引擎初始化和与之相关的操作(如 engine.initengine.login)变慢可能是由于内存管理、资源加载或平台兼容性问题导致的。对于 .wasm 文件,iOS 可能对 WebAssembly 的加载和执行效率有不同处理方式。您可以尝试以下优化措施:

    • 检查 iOS 版本以及设备型号,确保 SDK 支持所使用的 iOS 系统版本。
    • 验证 iOS 下的资源配置是否正确,特别是 .wasm.br 文件是否已正确压缩并被 iOS 设备支持解压。
    • 调整 SDK 初始化参数,比如减少不必要的日志级别以降低开销。
    • 若有可能,联系 SDK 提供商查询是否存在已知的 iOS 平台性能问题或解决方案。
    2024-03-19 15:47:01
    赞同 展开评论 打赏
  • 将军百战死,壮士十年归!

    针对iOS设备上存在卡顿问题,可以尝试以下方法进行优化:

    1. 使用WebAssembly的二进制版本(.wasm)替换文本格式(.wat)。将alivc-im.wasm.br文件转换为二进制格式,以提高加载速度和运行效率。

    2. 优化代码逻辑,减少不必要的操作。例如,在enterGroupManager函数中,可以将await groupManager.joinGroup(groupId)和await groupManager.queryGroup(groupId)合并为一个异步操作,以减少等待时间。

    3. 使用缓存机制,避免重复加载资源。可以在小程序中使用本地存储或IndexedDB等技术,将已经加载过的资源缓存起来,下次使用时直接从缓存中读取,提高加载速度。

    4. 对于低配置的设备,可以考虑降低引擎的性能需求。例如,可以降低引擎的分辨率、帧率等参数,以降低对设备性能的要求。

    5. 如果以上方法仍无法解决问题,可以考虑联系阿里云直播SDK的技术支持,寻求更专业的解决方案。

    2024-03-19 11:07:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载