当我们应用马上上线,先不要着急上线,应该先去做一下内存分析,防止出现问题
内存分析分为两种:
1.静态分析,Analyze 不用运行程序,直接检测代码是否有潜在的内存泄漏
2.动态分析:Instrument,Profile Allocations(内存分配)/Leaks(内存泄漏)
ps:区分内存泄漏 和 内存溢出
内存溢出:内存不够用,数据溢出 int a = 2324423482375489273148102934890
内存泄漏:该释放的对象没有释放
一.静态分析
一般情况下arc将内存泄漏处理的比较好了,(通知不删除,监听者不删除还是会有内存泄漏的),所以我们做一个demo(MRC状态)
在控制器中简单的写如下两句话,shift+cmd+b == (product-->analyze) 静态分析程序 (ps:cmd+b 是编译)
刚才去运行了一下自己公司的程序(ARC),静态分析了一下,
刚才去看了一下,都是一些不规范的,静态分析还是挺不错的~
这个位置allocation的具体使用方法,如何看问题,还没有写
二.动态分析
最好使用真机,可以看到真是的内存情况 product --> profile
点击任意一个
2.1 Allocation
动态分析要去运行程序,才能看到程序中的内存分配情况,还有是否有内存泄漏的问题
2.2 Leak
这三个过几天在写