uni-app uni.chooseImage 在APP iOS端从相册选择图片返回时闪退

uni-app uni.chooseImage 在APP iOS端从相册选择图片返回时闪退

开发环境 版本号 项目创建方式
Mac 10.15.7 HBuilderX

操作步骤:

  • 从相册选择图片

预期结果:

  • 可以选择图片并返回显示图片

实际结果:

  • 应用闪退

bug描述:

  • 用iPhone 6s和iPhone 12测试,可以进入相册,但是选取完图片返回页面时没有反应,过了一会都会闪退,不能进入success回调
12 回复

贴下代码 我帮你看看

更多关于uni-app uni.chooseImage 在APP iOS端从相册选择图片返回时闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


就是直接使用的uni.chooseImage,选择相册照片就会闪退,目前只有app ios有这个问题,安卓是可以的(H5和小程序也都是好的)

看你的HBuilder 版本为2.9.8 下载最新的试一下 是否存在这个问题呢?

不是版本的问题,3.多版本打包依旧如此

回复 c***@ehsy.com: 具体哪个版本 请描述清楚

遇到同样问题,有人解决了,还等着发版了

说清楚 什么版本 云打包还是离线打包 并附上复现Demo

回复 天生DR: 离线打包,3.1.9

回复 x***@163.com: 离线打包 你先看离线资源文件 是不是都用的最新的 3.1.7 资源文件做过更名

回复 天生DR: 谢谢,已解决,是sdk没更新引起的问题

回复 x***@163.com: 好的 下次更新记得 全部模块更新一下

这是一个iOS内存管理导致的典型问题。当选择高分辨率图片时,iOS系统会占用大量内存,如果应用内存不足就会触发闪退。

解决方案:

  1. 压缩图片质量
uni.chooseImage({
  count: 1,
  sizeType: ['compressed'], // 使用压缩模式
  sourceType: ['album'],
  success: (res) => {
    // 处理图片
  }
})
  1. 限制图片尺寸
uni.chooseImage({
  count: 1,
  sizeType: ['compressed'],
  sourceType: ['album'],
  success: (res) => {
    // 可进一步使用canvas压缩
    this.compressImage(res.tempFilePaths[0])
  }
})
回到顶部