iOS---内存分析
2015-09-02 23:37
423 查看
内存分析
1.静态内存分析(Analyze)
优点:分析内存非常快,已经可以对整个项目的内存就行分析
缺点:不运行程序,直接对代码进行分析.根据代码的上下文的语法结构,看语法是否有问题.(不够准确,但是如果通过静态内存分析,有提示出现了内存泄露,需要通过分析代码上下文查看是否有内存泄露)
2.动态内存分析(Profile == Instruments)
优点:真正运行起来程序,并且可以对某一个操作来具体分析.当用户做了某一个操作时,该操作是否产生了内存泄露.(非常准确,如果提示有内存泄露,基本可以说明代码有问题)
缺点:分析速度非常慢,需要一步步来分析代码是否有问题.且可能在分析过程中有遗漏代码
二.内存使用注意
1.加载小图片\使用频率比较高的图片
1> 利用imageNamed:方法加载过的图片, 永远有缓存, 这个缓存是由系统管理的, 无法通过代码销毁缓存2.加载大图片\使用频率比较低的图片(一次性的图片, 比如版本新特性的图片)
1> 利用initWithContentsOfFile:\imageWithContentsOfFile:\imageWithData:等方法加载过的图片, 没有缓存, 只要用完了, 就会自动销毁2> 基本上, 除imageNamed:方法以外, 其他加载图片的方式, 都没有缓存
三.2个专业术语
1.内存泄漏
1> 该释放的对象, 没有被释放(已经不再使用的对象, 没有被释放)2.内存溢出(Out Of Memory)
1> 内存不够用了2> 数据长度比较小的数据类型 存储了 数据长度比较大的数据
相关文章推荐
- iOS开发:LaunchScreen.xib好处
- iOS进阶学习笔记
- iOS开发 main.m
- 野鸟装备IOS版开发笔记(1.0版本)
- iOS 本地缓存实现 方案借鉴
- iOS动画技术——CoreAnimation中的动画
- iOS 中自定义的 xib 的宽度和高度没法改变时的解决办法
- iOS异常、错误汇总(一)
- iOS 播放音频的几种方法
- IOS开发技巧快速生成二维码
- iOS平台下的加密
- ios AVPlayer无法在线播放视频
- iOS高级-QuartzCore框架-CALayer图层
- 适用于IOS的几种必须会用的工具
- 一般企业如何处理IOS 检查更新
- iOS如何绘制圆
- iOS项目开发小技巧 (五) --检测是否打开应用定位及跳到系统设置定位页
- IOS:图片缓存
- iOS生成随机数
- iOS工程使用cocoaPods。动手让你的工程由xcodeproj变身为.xcworkspace