今天是周五了,眼看着就要周末了,但是一个bug困扰了我整整一周。
WKWebView 执行js使用方法 evaluateJavaScript,异步执行。但是我多次执行,不是一两次,而是有可能就是几千次,我的功能是文章自能划线,根据文章的篇幅不同,和重点句子数量不同,可能执行evaluateJavaScript的次数不可控制,我刚开始是使用遍历去寻找重点句子,然后划线,但是文章篇幅过大,会导致crash ,断点在evaluateJavaScript处。出错的原因是指针被释放掉了。但是怎么可能,一看日志,是系统级别的,不知如何是好。
但是今天在临下班之前,突然想到如果控制并发,每次只执行一次evaluateJavaScript ,回调结束之后在执行下一条evaluateJavaScript会怎么样呢。
结果。。。。。。。。 哈哈哈 再也不会crash 了。我在想这个应该是和H5 js 相关,他们都是单线程下执行的。