6***@qq.com
6***@qq.com
  • 发布:2020-01-06 11:02
  • 更新:2020-01-06 18:35
  • 阅读:1123

【报Bug】nvue uniapp编译模式下ios客户端使用animation闪退或卡si

分类:nvue

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]
我使用的nvue页面,编译模式为uniapp编译模式。我这边的需求是做个详情页,但是详情页中的图片宽高不是已经得,所以我需要让图片自适应,我的做法是在图片的load方法中,获取到图片的原始高度后,计算并重新设置图片的宽高。
下面是设置图片的代码:
animation.transition(img, {
styles: {
width: '375px',
height: '600px'
},
duration: 0,
delay: 0,
// 这个地方设置为false app就不会闪退或者卡死
needLayout: true
}, function(e) {})
这个地方needLayout设置为true,ios端就会卡si或者闪退(我自己的项目是直接闪退,写的demo是卡si),安卓端是ok的。
苹果手机的型号是iphone6s。

Tips:
1.我是外层有一list图片是在包裹在list里的cell里,但是即使最外层没有list也是有同样的bug。
2.下面提供了再现Demo,有两个页面,第二个页面是示例代码,因为如果直接在启动页写再现代码,连App都无法启动。

重现步骤

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]
hbuilderx版本号 2.5.1.20200103
[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2020-01-06 11:02 负责人:无 分享
已邀请:
6***@qq.com

6***@qq.com (作者) - 小明

没人确认吗

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

可以试试在weex下是不是也是这样的,weex的needLayout很耗性能,因为元素之间会互相影响,一般是能不用就不用。你代码里面的这种情况对于weex来说太难了

  • 6***@qq.com (作者)

    因为需要做到图片自适应,根据网上别人weex的实力,这个地方必须设置。如果不这么用,还有什么别的方法做到图片自适应吗? 而且还有一点,我低端的安卓机都没有问题,就是苹果不行

    2020-01-06 18:02

6***@qq.com

6***@qq.com (作者) - 小明

有ios开发人员能确认下吗?或者给个解决方案帮助下

该问题目前已经被锁定, 无法添加新回复