收藏
回答

wx.chooseImage 微信直接闪退?

我调用wx.chooseImage,上传9张原图;每张平均4m左右,然后微信直接奔溃返回手机系统主页,我的手机试荣耀play  监听内存也没被触发;wx.chooseImage我设置的是上传原图!!!!




1:上传时,没打开别的其他应用,仅仅只打开一个微信;然后试着上传一张,还是崩溃;应该不是内存问题吧!

2:我尝试对返回的图片进行压缩,但是几乎没用,该崩溃还是崩溃!

3:有个疑问,为啥自己手机照的和下载下来的都是.jpg格式图片,在线上的都是.png图片,图片上传的是阿里云服务器.??

我想请教下,是不是这个API返回给我的临时路径,我处理下,在视图层展示,是不是不行?是不是这个API不稳定或者造成哪些底层的bug?

希望官方能彻底重视解决下,我看社区有好多反馈,都是不了了之了!!!!!!!!!!!!!

另外,前一段已经提交过微信号和日志了!!

最后一次编辑于  10-25
回答关注问题邀请回答
收藏

5 个回答

  • 啄米
    啄米
    10-25

    麻烦再上传一份问题日志,附上微信号,谢谢

    10-25
    赞同
    回复 8
    • 张铁蛋
      张铁蛋
      10-28
      已经上传  微信号z854991
      10-28
      回复
    • 张铁蛋
      张铁蛋
      10-28
      10-28
      回复
    • 啄米
      啄米
      10-28回复张铁蛋
      这个闪退是因为展示图片时图片分辨率过高导致,加载的图分辨率都在5000*7000以上,每张图加载到内存里都超过了140M
      10-28
      回复
    • 张铁蛋
      张铁蛋
      10-28回复啄米
      我上传的大部分都是摄像机拍摄然后ps精修过得图,是不是这些图片太大分辨率太高导致的?
      10-28
      回复
    • 啄米
      啄米
      10-28回复张铁蛋
      分辨率过高了,可以考虑在展示图片时使用分辨率较低一点的缩放图
      10-28
      回复
    查看更多(3)
  • Architect
    Architect
    10-25

    这个问题应该是单张图片过大导致的,解决方案如下。

    1. 设置sizeType为compressed,此时用户从相册选取图片时无法勾选“原图”,默认压缩图片。

    2. 若因业务对图片质量有需求(实际上在手机端展示用不到4M这么大,倘若业务对此有没有特别要求的话完全可以使用压缩图),在用户选择图片(原图)后,调用接口上传至服务器。在页面展示时,对展示图片大小做控制(阿里云、七牛云提供的图片拼参数功能或者接口返回压缩图)。


    10-25
    赞同 1
    回复 9
    • 张铁蛋
      张铁蛋
      10-25
      但是甲方爸爸就要用原图 不让用压缩图 咱办啊?  单张的话没有超过5m的,  这大吗?
      10-25
      回复
    • Wang
      Wang
      10-26回复张铁蛋
      5M还不大?
      10-26
      回复
    • Wang
      Wang
      10-26
      你要是在iOS手机上两张图片,小程序就干掉了,即使微信没事
      10-26
      回复
    • Architect
      Architect
      10-27回复张铁蛋
      很大,我这边单张3M左右都出现过闪屏,原图就原图上传。页面展示不需要原图,读取设备像素比和屏幕宽度相乘,几百K的图片足以非常清晰的展示图片了。
      10-27
      回复
    • 张铁蛋
      张铁蛋
      10-28回复Wang
      可是自己手机摄像机拍的,一张十几兆的就能正常上传上去!
      10-28
      回复
    查看更多(4)
  • 陈子羽
    陈子羽
    10-25

    一般不会,可以

    try{

    }catch(e){

    console.log(e)

    }试试看,看看是栈里哪个地方引起的

    10-25
    赞同
    回复 2
    • 张铁蛋
      张铁蛋
      10-25
      这个,我尝试监控内存了,就没触发,应该不是内存问题
      10-25
      回复
    • 陈子羽
      陈子羽
      10-25回复张铁蛋
      你wx.uploadFile是异步的吧,在后面.catch()哦
      10-25
      回复
  • 三世羽翾
    三世羽翾
    10-25

    第一上传图片千万不要使用原图,最好进行压缩,再就是,手机太渣的话,建议控制每次选取的数量和上传数量

    10-25
    赞同
    回复 7
    • 张铁蛋
      张铁蛋
      10-25
      甲方爸爸要用原图啊
      10-25
      回复
    • 三世羽翾
      三世羽翾
      10-25回复张铁蛋
      那就控制每次选取数量和上传请求,最好是选一个上传一个,一个上传完再上传下一个
      10-25
      回复
    • 三世羽翾
      三世羽翾
      10-25回复张铁蛋
      选取图片时,使用压缩图,微信会使用压缩算法进行压缩,这时会大量占用内存,手机不行,图片过大直接崩溃
      10-25
      回复
    • 张铁蛋
      张铁蛋
      10-25回复三世羽翾
      一张一张上传,对用户体验来说是不是太麻烦了???
      10-25
      回复
    • 张铁蛋
      张铁蛋
      10-25
      我选取时候还没用压缩图,选的都是原图
      10-25
      回复
    查看更多(2)
  • 张铁蛋
    张铁蛋
    10-25

    我监控过内存,就没被触发!

    10-25
    赞同
    回复 2
    • 三世羽翾
      三世羽翾
      10-25
      将上传步骤拆分出来,每步优化,尽量减少并发,渣的手机根本受不了并发请求
      10-25
      回复
    • 张铁蛋
      张铁蛋
      10-25回复三世羽翾
      这个,我就调用了这个API 啊,就崩溃了  我能怎么拆啊!!!
      10-25
      回复
问题标签