收藏
回答

小米9选择图片后使用img标签预览页面会白屏闪烁

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.chooseimage() <image></image> 微信安卓客户端 7.0.6 System: Android 9,Wechat 7.0.6.1500 WeChatLib:2.8.3 (2019.9.17 11:54:14)

开发者工具生成预览码, 然后手机扫码后选择9张图片(我这边一张相片大概7m左右),  这时页面会闪烁、白屏(如果一次不能复现,可刷新预览码再次扫码,选择图片),    

手机型号:小米9  MIUI版本 (MIUI10.2.35稳定版) 高通骁龙855 运行内存 6g    麻烦看下这个问题呢。


补充:打开小程序性能监控面板,内存由启动时的380m   选9张图片后升为783m,并且一直不降

最后一次编辑于  2019-09-19
回答关注问题邀请回答
收藏

3 个回答

  • 飘逸丶麦子
    飘逸丶麦子
    2019-11-20

    白屏闪烁的问题,基本是「页面内有大图」导致的,微信在7.0.4之后更新那啥算法之后就开始出现这样的问题了,应该是大图的渲染消耗内存过高导致的。我现在开发的小程序也遇到了这样的问题,我现在负责的小程序的设计主要就是靠大图撑起来的,所有商品都会有至少一张大图(200k上下),现在性能优化的问题让我着实蛋🥚疼。。。如果采用图片懒加载或者不在视图内卸载图片节点的方法,那么在用户快速滑动的时候就会出现「默认图-->主图」的一个渲染导致的闪屏的现象,在一些中低端安卓机上则会卡顿。。。

    2019-11-20
    有用 1
    回复 3
    • 文[得意]
      文[得意]
      2019-11-20
      有一点问题,新版本微信很容易卡死,任何小程序都是,轻轻一用就卡死黑屏了,概率高得吓人,基本百分比,随便市面上找个多图的小程序
      2019-11-20
      回复
    • 飘逸丶麦子
      飘逸丶麦子
      2019-11-20回复文[得意]
      是的,新版本微信(7.0.4之后)基本都有这个问题,小米手机尤甚。。。现在不知道官方要怎么调整。。。如果只让开发者对图片进行处理,那太难为开发者了。。。因为图片虽然可以压缩,但是有些设计稿上的图片尺寸本来就比较大,如果压缩过甚会导致图片质量严重下降,老板和设计妹子也不会答应。。。
      2019-11-20
      回复
    • 文[得意]
      文[得意]
      2019-11-20回复飘逸丶麦子
      像图库类或者腾讯视频类的这种少文字多图片的更不好处理,这一类的我手机小米9基本百分比轻松黑屏,卡死。
      2019-11-20
      回复
  • 是小白啊
    是小白啊
    2019-09-19

    这边测试了下,未能复现该问题,选择的图片较大吗?

    2019-09-19
    有用
    回复 15
    • 文[得意]
      文[得意]
      2019-09-19
      7-8m 3000x4000px 如果一次不能复现,可以刷新预览码,关闭小程序后从新扫码,
      2019-09-19
      回复
    • 文[得意]
      文[得意]
      2019-09-19
      我打开性能监控面板, 选择9张图片后直接由300m内存升至1000m,页面一直闪烁,百分百复现,要不要我把9张图片发你
      2019-09-19
      回复
    • 是小白啊
      是小白啊
      2019-09-19回复文[得意]

      能否提供下录屏呢?

      2019-09-19
      回复
    • 文[得意]
      文[得意]
      2019-09-19
      可以,稍等,录屏文件怎么传给你?
      2019-09-19
      回复
    • 是小白啊
      是小白啊
      2019-09-19回复文[得意]


      2019-09-19
      回复
    查看更多(10)
  • 文[得意]
    文[得意]
    2019-09-19

    这边猜想是不是图片过大导致img显示的时候内存飙升?


    哈哈,半夜补充说明, 官方还没回复我,不过我这边有一个解决方案分享给大家吧,  image显示的时候不用chooseimage返回的本地链接,而用canvas先将本地链接的图片裁剪一遍,然后用裁剪后的小图给img显示,就没问题了。

    2019-09-19
    有用
    回复 9
    • 飘逸丶麦子
      飘逸丶麦子
      2019-11-20
      你选择的图片太大了,建议先压缩,然后小图情况下直接使用被疯狂压缩过的小尺寸图片就行,用户预览的时候再展示原图,这样会好点
      2019-11-20
      回复
    • 飘逸丶麦子
      飘逸丶麦子
      2019-11-20
      你这里叙述的方法也可以的
      2019-11-20
      回复
    • 文[得意]
      文[得意]
      2019-11-20回复飘逸丶麦子
      但是有个问题,我需要上传原图到服务器,能同时拿到原图和压缩图吗?chooseimg好像没看到相关api,都只能拿一种
      2019-11-20
      回复
    • 飘逸丶麦子
      飘逸丶麦子
      2019-11-20回复文[得意]
      你用的是阿里云的服务器吗?阿里云的对象存储可以在获取到的图片网络连接后面直接加后缀,然后请求的时候服务器就自动对图片进行处理了,你还是可以获取到原图的网络链接的
      2019-11-20
      回复
    • 飘逸丶麦子
      飘逸丶麦子
      2019-11-20回复飘逸丶麦子
      这里的「处理」是指:裁剪和压缩
      2019-11-20
      回复
    查看更多(4)
登录 后发表内容
问题标签