重点 (二十八) : 内存管理

一. 内存分析

主要目的就是为了检测程序是否存在内存泄露

  1. 静态内存分析(Analyze)

作用:

逻辑错误:访问未初始化的变量, 野指针等;

声明错误:从未使用过的对象;

内存管理错误:如内存泄漏等;

分析方法:

静态内存分析是不运行程序,直接对代码进行分析.

根据代码的上下文的语法结构,来分析是否有内存泄露

缺点:

不一定准确,但是如果发现有提示,那么去结合上下文看一下,这里的代码是否有问题

场景演练:

MRC
下桥接- Foundation 和CoreFoundation框架的数据类型转换

ARC
下桥接- Foundation 和CoreFoundation框架的数据类型转换

  1. 内存分配

作用:

查看是内存的分配情况

查看内存是否有释放

场景演示:

UIImage 的两种创建方法测试

imageNamed:

imageWithContentOfFile:

  1. 动态内存分析

作用:

检测程序在运行过程中是否存在内存泄露

场景演示:

模拟循环引用,
测试内存泄露

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 2,023评论 1 16
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,804评论 25 709
  • 29.理解引用计数 Objective-C语言使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数...
    Code_Ninja阅读 1,548评论 1 3
  • 亲爱的心瑶: 你今天跟小弟弟在家里相处了一天,阿姨特别想说一声,谢谢! 看一天小孩儿连大人都觉得很累,有时候也会缺...
    鸽子1007阅读 199评论 0 0
  • 侄子今年一岁多,不会说话,也不会自己走路,但真的很可爱,姨父来了给他压岁钱,他拿了钱以后,走到抽屉旁边一直拉,他爸...
    张志鑫阅读 195评论 1 2