iOS js交互直接卡死的问题

新手入门
请多指教

前言

由于页面部分统计图使用的JavaScript中的eChart库实现,所以最近的需求改动中,需要处理部分交互问题。其中有一个交互,在iOS12中直接卡死了。。。
嗯,测试部有一部iOS12的手机。。。

问题定位

通过逐步排查,最终定位到在执行EChart.dispatchAction时出现问题。

myChart.dispatchAction({
    type: 'showTip',
    seriesIndex: 0,
    dataIndex: index
});

参考大家讨论的常见交互卡死的资料,尝试了很多方法。
比如:在js端使用 setTimeout(function(){}, 1)
比如:在iOS端使用 performSelectorOnMainThread

最终结果都不太满意。
不过基本可以确定是类似的问题。

然后这个bug还有个特殊的情况,在高版本上是没有问题的。只有在12以下版本出现了类似问题。
介于这个想法,看看是不是有什么升级的方法。

查看代码的时候,才注意到项目使用的还是 UIWebView
一查资料,好嘛,已经不推荐使用了。
现在推荐的 WKWebView

UIWebView 更换为 WKWebView

查看了下相关的Api之后,做了简单的更换处理。

运行代码测试。

直接没问题了!

结语

挺无语的,还是要时刻关注新Api动向,及时更新app中的相关功能。

上一篇:[力扣 91] [leetcode 91] 解码方法 2021.9.27


下一篇:iOS中修饰符常用小结