课件按需加载

  • Android

更新时间不可用

适用于 Whiteboard Android SDK 2.16.134。

课件按需加载减少最大化房间中非焦点课件的初始化和资源占用。它控制本端 App runtime,不是白板服务端的文件转码,也不是资源下载完成通知。

入房前配置

Java
WindowParams windows = new WindowParams()
    .setForceMaximized(true)
    .setLazySetupInMaximizedMode(true)
    .setMaxCachedAppsInMaximizedMode(4)
    .setUseBoxesStatus(false);
roomParams.setWindowParams(windows);
// 在 joinRoom 之前完成配置。
配置默认值与作用
forceMaximized默认关闭。可写端设为 true 时同步房间级强制最大化,支持此协议的客户端不能切回 normal
lazySetupInMaximizedMode默认关闭。本端开关;房间已 forceMaximized 且处于 maximized/minimized 时按焦点初始化,否则使用 eager
maxCachedAppsInMaximizedMode默认 4。本端 App runtime 的 LRU 缓存容量,不限制房间课件数量
useBoxesStatus独立窗口状态。房间强制最大化或有效 lazy 模式下被忽略;否则本端同时请求独立状态与强制最大化时,独立状态优先。建议明确设 false
表格内容超出当前宽度,可横向滚动查看更多列。

添加与切换课件

完成入房后正常使用 addApp 添加课件,以返回的 appId 聚焦课件。焦点变化触发对应 runtime 初始化,缓存满时按 LRU 协调非活动 runtime。

Java
room.focusApp(appId, new Promise<Boolean>() {
    @Override public void then(Boolean committed) { /* 焦点提交结果 */ }
    @Override public void catchEx(SDKError error) { /* 处理异常 */ }
});

focusApp 的布尔回调表示共享焦点、窗口焦点及层级提交结果,不能据此判断 setup 成功或全部资源就绪。lazy/最小化状态下 addApp 可以先返回 ID;eager 模式尝试等待 setup,但失败可能仅记录日志,返回 ID 仍不保证渲染成功。

Slide 可能在移出 LRU 或最小化后保留 runtime,由活动状态协调播放器资源,因此不能把容量直接解释为“最多创建/销毁几个 Slide”。播放中的媒体、频繁切换和长课件应结合实际设备内存测试。

主动观察课件页状态见统一页面控制,诊断初始化失败见本地日志。