前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS---内存分析

iOS---内存分析

作者头像
用户1941540
发布2018-05-11 11:58:03
1.2K0
发布2018-05-11 11:58:03
举报
文章被收录于专栏:ShaoYLShaoYLShaoYL

内存分析

1.静态内存分析(Analyze)

优点:分析内存非常快,已经可以对整个项目的内存就行分析
缺点:不运行程序,直接对代码进行分析.根据代码的上下文的语法结构,看语法是否有问题.(不够准确,但是如果通过静态内存分析,有提示出现了内存泄露,需要通过分析代码上下文查看是否有内存泄露)

2.动态内存分析(Profile == Instruments)

优点:真正运行起来程序,并且可以对某一个操作来具体分析.当用户做了某一个操作时,该操作是否产生了内存泄露.(非常准确,如果提示有内存泄露,基本可以说明代码有问题)
缺点:分析速度非常慢,需要一步步来分析代码是否有问题.且可能在分析过程中有遗漏代码

二.内存使用注意

1.加载小图片\使用频率比较高的图片
1> 利用imageNamed:方法加载过的图片, 永远有缓存, 这个缓存是由系统管理的, 无法通过代码销毁缓存
2.加载大图片\使用频率比较低的图片(一次性的图片, 比如版本新特性的图片)
1> 利用initWithContentsOfFile:\imageWithContentsOfFile:\imageWithData:等方法加载过的图片, 没有缓存, 只要用完了, 就会自动销毁
2> 基本上, 除imageNamed:方法以外, 其他加载图片的方式, 都没有缓存

三.2个专业术语

1.内存泄漏
1> 该释放的对象, 没有被释放(已经不再使用的对象, 没有被释放)
2.内存溢出(Out Of Memory)
1> 内存不够用了
2> 数据长度比较小的数据类型 存储了 数据长度比较大的数据
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内存分析
    • 1.静态内存分析(Analyze)
      • 2.动态内存分析(Profile == Instruments)
        • 二.内存使用注意
          • 三.2个专业术语
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档