uni-app 使用plus.gallery.pick选择多个视频时加载时间长
uni-app 使用plus.gallery.pick选择多个视频时加载时间长
示例代码:
res => {},
err => {},
{
maximum: 20,
animation: true,
filter: 'video',
multiple: true,
permissionAlert: true
}
操作步骤:
- 使用 API 选择视频多个,就会出现
预期结果:
- 期望 加载时间短点,加载时间长这样影响用户体验
实际结果:
- 选择多个视频,加载时间较长
- 选择了之前的视频之后,提示从icloud同步照片
bug描述:
- 使用
plus.gallery.pick
- 选择多个视频,加载时间较长
- 选择了之前的视频之后,提示从icloud同步照片

| 信息类别 | 详细信息 |
|----------------|------------------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | Windows 10 专业版 20H2 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.1.22 |
| 手机系统 | iOS |
| 手机系统版本号 | iOS 13.4 |
| 手机厂商 | 苹果 |
| 手机机型 | iphone8 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app 使用plus.gallery.pick选择多个视频时加载时间长的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
视频需要有个转码压缩的过程,时间就是比较长;
图片在iCloud上的话,需要先下载到本地就会提示正在同步;
更多关于uni-app 使用plus.gallery.pick选择多个视频时加载时间长的实战教程也可以访问 https://www.itying.com/category-93-b0.html
您好,可以想办法优化一下吗?还是这个已经优化过了呢
plus.gallery.pick 在 iOS 上选择多个视频时加载时间长,主要与 iOS 系统相册的实现机制有关。当选择多个视频(尤其是高清或 iCloud 存储的视频)时,系统需要从 iCloud 下载或从本地准备视频数据,这个过程是系统级行为,应用层无法直接控制其速度。
针对加载时间长的问题,可以尝试以下优化方案:
- 限制选择数量:通过
maximum参数减少单次选择的视频数量,例如设为 5 或 10,以降低系统一次性处理的数据量。 - 使用系统相册的“优化存储”模式:用户开启 iCloud 照片库的“优化 iPhone 存储空间”后,系统会自动管理本地和云端数据,可能减少同步等待时间(需用户手动设置)。
- 分步处理:先让用户选择视频,获取到文件路径后,在后台异步处理视频(如上传、压缩),避免主线程阻塞,提升界面响应速度。
- 降级到非多选模式:如果业务允许,考虑使用
multiple: false单次选择单个视频,多次操作来累积选择。
关于 iCloud 同步提示:这是 iOS 系统的正常行为。当用户选择的视频存储在 iCloud 且未完全下载到本地时,系统会自动触发下载并显示同步提示。应用无法屏蔽此提示,因为它属于系统级相册功能的一部分。
代码调整示例:
plus.gallery.pick(
res => {
// 异步处理视频,避免阻塞
this.handleVideosAsync(res.files);
},
err => {},
{
maximum: 10, // 减少单次选择数量
filter: 'video',
multiple: true,
system: false // 确保使用系统相册(默认值)
}
);

