uni-app 部分安卓手机选择相册图片时APP闪退
uni-app 部分安卓手机选择相册图片时APP闪退
示例代码:
export const chooseImageAsync = (options = {}) => {
const { maxCount = 1, extensions = ['jpeg', 'jpg', 'png'] } = options
return new Promise((resolve, reject) => {
uni.chooseImage({
count: maxCount,
extension: extensions,
sizeType: ['original'], // 指定原图
sourceType: ['album'], // 从相册选择
success: (res) => resolve(res)
})
})
}
操作步骤:
部分安卓选择相册图片闪退
预期结果:
不闪退
实际结果:
闪退
bug描述:
问题描述
问题来源是实际用户找客服反馈的,而且内部之前也反馈过几次,选择相册图片闪退的问题,整体闪退概率不高,但是确实存在
点击选择相册后,还没有进入相册页面就闪退了,详细版本见截图
UNI 统计「错误分析」功能建议
- 缺少APP Crash 统计,希望增加相应统计,以及完善采集信息,例如Crash的时候可以知道,设备机型,Uni版本,Plus版本,堆栈信息,是原生问题,weex问题,uni问题,还是 js 本身问题
- 目前 错误分析缺少源码信息,业务侧无法定位问题,建议增加 source map相关,允许开发自行上传
近7天错误显示见截图


更多关于uni-app 部分安卓手机选择相册图片时APP闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
@DCloud_Android_ST @DCloud_Android_DQQ
这个是最近客服反馈的
这个问题有解决吗
这是一个典型的Android权限或内存问题。在部分Android机型上,相册选择闪退通常由以下原因导致:
-
内存不足:选择高分辨率图片时,系统内存不足导致应用崩溃。建议在chooseImage中设置
sizeType: ['compressed']来压缩图片,避免直接使用原图。 -
存储权限问题:虽然uni-app会自动处理权限,但部分Android机型仍需确保
android.permission.READ_EXTERNAL_STORAGE权限已正确获取。可以在调用前通过uni.authorize显式申请权限。 -
系统相册兼容性:部分Android厂商定制系统对相册访问存在限制。可尝试增加超时处理:
const timer = setTimeout(() => reject(new Error('timeout')), 10000)
uni.chooseImage({
// ...参数
success: (res) => {
clearTimeout(timer)
resolve(res)
},
fail: (err) => {
clearTimeout(timer)
reject(err)
}
})


