uni-app ios保存gif会卡死或闪退
uni-app ios保存gif会卡死或闪退
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win10
HBuilderX类型:Alpha
HBuilderX版本号:3.1.3
手机系统:iOS
手机系统版本号:IOS 14
手机厂商:苹果
手机机型:iphone11
页面类型:nvue
打包方式:云端
项目创建方式:HBuilderX
### 示例代码:
```html
<template>
<view class="content">
<image [@tap](/user/tap)="previewImg" mode="aspectFill" class="swiper-img"
src="https://rabbit-bang.oss-cn-hangzhou.aliyuncs.com/1614164722690.jpg"></image>
</view>
</template>
<script>
export default {
data() {
return {
image: 'https://rabbit-bang.oss-cn-hangzhou.aliyuncs.com/1614164722690.jpg'
}
},
onLoad() {
},
methods: {
previewImg() {
uni.previewImage({
urls:[this.image],
current:this.image
})
}
}
}
</script>
操作步骤:
- 点击图片预览
- 长按图片保存
预期结果:
保存成功
实际结果:
ios保存gif 闪退或卡死
bug描述:
ios保存gif会卡死或闪退
相关链接:
更多关于uni-app ios保存gif会卡死或闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
7 回复
已修复 更新HBuilder的3.1.4 alpha 进行验证即可
更多关于uni-app ios保存gif会卡死或闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请提供可以稳定复现的示例工程
<script>
export default {
data() {
return {
image: 'https://rabbit-bang.oss-cn-hangzhou.aliyuncs.com/1614164722690.jpg'
}
},
onLoad() {
</script>
已上传示例 test.zip 帮忙看看 谢谢
Bug 已确认
这个问题在uni-app中确实存在,主要是iOS系统对GIF图片保存的处理机制导致的。以下是关键点分析:
- 问题根源:
- iOS的WKWebView内核在处理GIF保存时存在内存管理问题
- 大尺寸GIF图片会导致内存暴增,引发闪退
- 临时解决方案:
// 改用downloadFile+saveImageToPhotosAlbum组合
uni.downloadFile({
url: this.image,
success: (res) => {
if(res.statusCode === 200){
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: () => {
uni.showToast({title: '保存成功'});
}
});
}
}
});