美文网首页
UIWebview,WKWebview,循环引用的内存检测

UIWebview,WKWebview,循环引用的内存检测

作者: 鼬殿 | 来源:发表于2019-04-02 15:13 被阅读0次

    这两天lzXcode自带的leak工具对项目跑了一遍,发现了一个三方用的UIWebview的内存泄漏问题(其实就是简单的初始化),于是我自己写了个demo,对于UIWebview,WKWebview,循环引用分别都跑了一遍,以下是测试结果:

    • UIWebview

    首先用leak查看结果如下:

    屏幕快照 2019-04-02 下午2.21.29.png

    在用Allocations查看,在每次进入TestviewController的时候,在网页加载完全的时候Mark Generation一下,就有了上面的小🚩子,可以看到当前内存占用情况,打了4个标记,结果如下:

    133.86 MiB
    134.36 MiB
    140.06 MiB
    150.02 MiB

    屏幕快照 2019-04-02 下午2.22.50.png

    Xcode中结果如下:

    可以看到峰值达到了266.4MB

    屏幕快照 2019-04-02 下午2.18.31.png
    • WKWebview
      首先用leak查看结果如下:
      屏幕快照 2019-04-02 下午2.25.43.png

    在用Allocations查看,步骤跟UIWebview一样,结果如下:

    108.48 MiB
    108.61 MiB
    108.62 MiB
    108.61 MiB

    屏幕快照 2019-04-02 下午2.26.06.png

    Xcode中结果如下:
    可以看到峰值只有147.9MB

    屏幕快照 2019-04-02 下午2.11.52.png
    • 循环引用
      首先用leak查看结果如下: 屏幕快照 2019-04-02 下午2.32.10.png

    在用Allocations查看,结果如下:

    9.92 MiB
    9.96 MiB
    9.97 MiB
    9.98 MiB

    屏幕快照 2019-04-02 下午2.30.38.png

    Xcode中结果如下:
    可以看到内存增长的很缓慢

    屏幕快照 2019-04-02 下午2.14.52.png

    结论:
    1.UIWebview,WKWebview,循环引用都有内存泄漏问题,都可以用leak检测到

    1. WKWebview相对于UIWebview内存变化更稳定,而且内存开销相对小很多

    ps:MLeaksFinderWeRead 团队开源的iOS内存泄漏检测工具,项目中也可以配合leak使用

    相关文章

      网友评论

          本文标题:UIWebview,WKWebview,循环引用的内存检测

          本文链接:https://www.haomeiwen.com/subject/spkgbqtx.html