在移动开发中,与服务器打交道是不可避免的,从服务器拿到的接口数据最终都会被我们解析成模型,现在比较常见的数据传输格式是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导致的内存泄漏已经没有了。

最新文章

  1. 数学系列:XXX
  2. WPF(WP7、WP8)实现圆形图片
  3. 处理滚动条置底的JS代码
  4. ubuntu wireshark finish
  5. (转)Linux下安装Matlab2014及破解
  6. TreeView 读取 xml 显示节点
  7. compareTo & toString
  8. 转:Apache与Nginx的优缺点比较
  9. [转]ASP.NET MVC 入门8、ModelState与数据验证
  10. Static Class (静态类)
  11. uva 10370 - Above Average
  12. Linux进程管理(-)
  13. 【windows】常用快捷键
  14. Day-16: 图形界面
  15. 在 Rolling Update 中使用 Health Check - 每天5分钟玩转 Docker 容器技术(146)
  16. 圆周率pi π 与 角度的对应关系
  17. wangEditor大图片上传问题
  18. IIS配置文件上传大小限制
  19. 『TensorFlow』slim模块常用API
  20. maven学习笔记--window平台下的安装和一些基本的配置

热门文章

  1. Handler注意事项
  2. html提交表单,php在后台获取表单内容的方法_例1
  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider
  4. [CDH] Cloudera's Distribution including Apache Hadoop
  5. 关于XMind软件文件格式的一些思考
  6. 用python做线性规划
  7. 概率dp作业
  8. Paper Mark
  9. gitbook组织管理书写
  10. 《JAVA语言》课问题汇总