zoukankan
html css js c++ java
iOS---内存分析
内存分析
1.静态内存分析(Analyze)
优点:分析内存非常快,已经可以对整个项目的内存就行分析
缺点:不运行程序,直接对代码进行分析.根据代码的上下文的语法结构,看语法是否有问题.(不够准确,但是如果通过静态内存分析,有提示出现了内存泄露,需要通过分析代码上下文查看是否有内存泄露)
2.动态内存分析(Profile == Instruments)
优点:真正运行起来程序,并且可以对某一个操作来具体分析.当用户做了某一个操作时,该操作是否产生了内存泄露.(非常准确,如果提示有内存泄露,基本可以说明代码有问题)
缺点:分析速度非常慢,需要一步步来分析代码是否有问题.且可能在分析过程中有遗漏代码
二.内存使用注意
1.加载小图片使用频率比较高的图片
1> 利用imageNamed:方法加载过的图片, 永远有缓存, 这个缓存是由系统管理的, 无法通过代码销毁缓存
2.加载大图片使用频率比较低的图片(一次性的图片, 比如版本新特性的图片)
1> 利用initWithContentsOfFile:imageWithContentsOfFile:imageWithData:等方法加载过的图片, 没有缓存, 只要用完了, 就会自动销毁
2> 基本上, 除imageNamed:方法以外, 其他加载图片的方式, 都没有缓存
三.2个专业术语
1.内存泄漏
1> 该释放的对象, 没有被释放(已经不再使用的对象, 没有被释放)
2.内存溢出(Out Of Memory)
1> 内存不够用了
2> 数据长度比较小的数据类型 存储了 数据长度比较大的数据
查看全文
相关阅读:
就南通大学教务管理系统微信公众号的个人看法
设计一款给爸爸妈妈用的手机
.NET中DLL“没有可放置在工具箱的组件”—FreeTextBox
如何查看.Net源代码vs版本号以及C#项目中各文件的含义
.NET在后置代码中输入JS提示语句(背景不会变白)
Docker技术学习
学习linux基本命令
性能相关英文单词学习
常见Http状态码的含义
学习siege实战
原文地址:https://www.cnblogs.com/ShaoYinling/p/4779710.html
最新文章
ES5与ES6中伪数组转数组
ES5和ES6中遍历数组的方法
let与const
LeetCode Easy Palindrome Number
Windows命令行复制文件
PAT 09-排序1 排序
clang编译其他头文件
使用Python出现的错误和解决方法
关于学习编程和写代码的一些事情
Python基础学习:结果断言方法封装——in
热门文章
随笔:Python连接数据库、插入数据方法封装
随笔: Python日志解析-正则表达式
Python基础学习:求一元二次方程的解
Python基础学习:for和while,continue和break
python基础学习:if和input()
随笔:Python+requests进行post请求之常见的三种入参
随笔:Python批量合并csv文件的数据
随笔:虚拟机安装和Linux系统安装
Java变量配置
软件工程学习总结
Copyright © 2011-2022 走看看