分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

使用HandyJSON导致的内存泄漏问题相关解决方法

发布时间:2023-09-06 01:32责任编辑:赖小花关键词:暂无标签

在移动开发中,与服务器打交道是不可避免的,从服务器拿到的接口数据最终都会被我们解析成模型,现在比较常见的数据传输格式是json格式,对json格式的解析可以使用原生的解析方式,也可以使用第三方的,我们的项目中使用的是阿里开源的一个swift编写的解析框架--HandyJSON。

在使用过程中,使用instruments的Leak Checks工具对内存泄漏进行检测时发现了这个框架导致了不少的内存泄漏,如图1-1:

这张图是在APP进入首页并将数据加载完毕时截取的,可以看到,HandyJSON一共导致了28个内存泄漏,如果把整个APP运行一遍,估计内存泄漏的个数会很多很多。

在HandyJSON的GitHub上找到了原因点击前往,是UnsafeMutableRawPointer没有释放导致的,解决方法如下:

在Leak Checks工具中显示了内存泄漏的了类名(Measuable)与方法名(_getBridgedPropertyList),我们找到HandyJSON中的这个类和方法,在里面进行释放UnsafeMutableRawPointer就好了,在方法中加上图1-2中的红框中的代码即可:

添加完代码之后,我们重新检测内存泄漏的情况,发现如图1-3所示:

同样是进入首页并将数据加载完毕,我们发现,关于HandyJSON导致的内存泄漏已经没有了。

使用HandyJSON导致的内存泄漏问题相关解决方法

原文地址:https://www.cnblogs.com/zhanbaocheng/p/8125993.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved