ios lighttpd-atv php54 iosweb,IOS WKWebview踩坑记录

本文探讨了在iOS 11.2版本中,WKWebView出现的图片缓存异常及动画执行问题。在特定条件下,WKWebview加载已缓存图片时会出现白屏,而UIWebView会直接崩溃。此外,当动画执行过程中跳转页面时,动画可能停留在初始状态。解决方案包括使用transition替代animation以避免动画问题,并对iOS 11.2的图片缓存策略进行调整。
摘要由CSDN通过智能技术生成

webview崩溃不会crash而是会白屏

在UIWebview中,进行了对性能影响过大的操作(例如图片特别的多,然后突然改变了css、调整页面字体,导致重绘;连续点击打开多个webview),App会crash,但是WKWebview的现象是页面白屏。

解决方案: IOS有方案 待补充

iOS 11.2 (15C114)图片缓存问题

(1) 发送网络请求表现不同

其余系统版本,在app未进入后台状态,同一个webview中加载多次同一个url,网络中只会发出一次请求。 11.2系统中,每次都会发出请求,命中缓存304

b2625c038988

命中缓存

但是在断网后,再次发出请求,会直接加载失败

b2625c038988

加载失败

为了忽略图片大小和后缀名(这个不上地址了)的影响,上传无问题图片连接到内网地址

http://wap_front.dev.sina.cn/zihao/Test/timg.gif

一样存在每次都发起请求的问题

(3) 其他现象

在app进入后台,热启,切换已加载过的图片,可以从磁盘中读取缓存

b2625c038988

磁盘中读取缓存

ios 11.2(15C114)且断网且某些特定的url 无法读取缓存

总结:

特定系统ios 11.2(15C114) 且 特定某些url(例如.sina.com.cn,应该是响应头某些设置影响),在断网情况下,无法加载已缓存过的图片。个人理解为 系统的bug。

动画执行问题

图片加载完成有一个动画,如下

@-webkit-keyframes rightShow {

0% {opacity:0;}

100% {opacity:1;}

}

@-moz-keyframes rightShow {

0% {opacity:0;}

100% {opacity:1;}

}

.imgLoad{

animation: rightShow 300ms linear;

-webkit-animation: rightShow 300ms linear;

-moz-animation: rightShow 300ms linear;

}

在执行动画的过程中发生页面跳转(新起一个webview,前一个webview被挂起),动画大概率偶现停留在了初始状态,隐藏状态,不可见。不懂IOS开发,猜测是animation被中断后执行的问题,切换为transition动画后避免了这个问题。

.poster_img{

opacity: 0;

transition: opacity 300ms;

-moz-transition: opacity 300ms;

-webkit-transition: opacity 300ms;

-o-transition: opacity 300ms;

}

.imgLoadTransition{

opacity: 1;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值