应用上线前的内存分析

当我们应用马上上线,先不要着急上线,应该先去做一下内存分析,防止出现问题

内存分析分为两种:

1.静态分析,Analyze 不用运行程序,直接检测代码是否有潜在的内存泄漏

2.动态分析:Instrument,Profile    Allocations(内存分配)/Leaks(内存泄漏) 

ps:区分内存泄漏 和 内存溢出

内存溢出:内存不够用,数据溢出  int a = 2324423482375489273148102934890

内存泄漏:该释放的对象没有释放

一.静态分析

一般情况下arc将内存泄漏处理的比较好了,(通知不删除,监听者不删除还是会有内存泄漏的),所以我们做一个demo(MRC状态)

先将ARC(AutoMatic Reference Counting)->MRC(Manual Reference Counting)状态

在控制器中简单的写如下两句话,shift+cmd+b == (product-->analyze)  静态分析程序   (ps:cmd+b 是编译)

蓝色的话是“arr有潜在的内存泄漏”,紫色位置添加[arr release]就好了

刚才去运行了一下自己公司的程序(ARC),静态分析了一下,

好他🐴多~

刚才去看了一下,都是一些不规范的,静态分析还是挺不错的~

生成了变量,赋值了,但是没有使用,


模型生成了,但是没有使用,系统用于不会使用

这个位置allocation的具体使用方法,如何看问题,还没有写

二.动态分析

最好使用真机,可以看到真是的内存情况  product --> profile 

使用的真机,常用的三个程序

点击任意一个

2.1 Allocation

动态分析要去运行程序,才能看到程序中的内存分配情况,还有是否有内存泄漏的问题

2.2 Leak

这三个过几天在写

2.3 Timer

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容