IOS中的内存管理是通过reference count来管理的,
IOS框架提供了2种内存管理方法,MRR(manual retain-release)和ARC(automatic retain-release)
1、Release或者Overwriting还在使用的数据回导致程序崩溃
2、不Release不再使用的数据导致内存泄露,会影响系统性能并导致程序异常退出。
Memory Management Policy:
“alloc”,“new”,“copy”,“mutableCopy” 创建一个新对象
“retain”关键字使用场景:(1)保存一个属性值,(2)防止自己需要的对象被释放
“release”,“autorelease" 释放一个对象。
”autorelease“ 含义就是我想释放一个对象,但是允许调用方法的对象使用该对象之后再释放。即其生命延长到调用该对象的方法的生命周期上了。
Example:
{
Person *aPerson = [[Person alloc] init];
// ...
NSString *name = aPerson.fullName;
// ...
[aPerson release];
}
无需释放name,因为不是我们创建的,不归我们释放,只释放自己创建的对象。
”dealloc“ 不要直接调用其他对象的dealloc,实现完自己的dealloc逻辑之后,一定要调用父类的dealloc。
Practical Memory Management:
1、关于对象属性的内存管理,一般情况下,直接使用Synthesize关键字就行了,它会自动帮助我们生成setter和getter方法,让生命变简单一点,。
2、使用setter方法给属性赋值
3、不要在initialize,dealloc方法中使用Accessor方法,可以直接给属性赋值。
内存检测工具
1、Analyze
2、Instrument
分享到:
相关推荐
庄延军《iOS内存管理及优化》,一本不错的关于ios内存管理的书。
IOS 内存管理 详细讲解iOS内存管理,对于深入研究内存管理的同学必须下载啊!
ios移动开发的内存管理ppt,讲的不错,你值得拥有
IOS内存管理与软件调试,本文档介绍了iOS内存管理和软件调试方法,如何找到crash的原因,文档为英文的,不喜欢的请勿下载。
FBMemoryProfiler是Facebook开源的一款用于分析iOS内存使用和检测循环引用的工具库。手机设备的内存是一个共享资源。应用程序可能会不当的耗尽内存、崩溃,或者遭遇大幅度的性能降低。当分配了一块内存,并设置了...
iOS高级内存管理ARC模式手动模式英文文档含示例工程,本压缩包包含国外众多高手的内存管理心得和工程示例,文档为英文,不喜欢的请勿下载。
10天掌握IOS 内存管理
iOS内存管理暴风体育 分享 iOS引用计数查看引用计数:MRC: [object retainCount]强引用/弱引用普通指针: void *强引用:类似B
ios内存管理之遛狗原则,还有自定义数组管理内存
通过对不同类型的对象进行retain和copy进行深浅拷贝详细测试分析
OOMDetector是一个iOS内存监控组件,应用此组件可以帮助你轻松实现OOM监控、大内存分配监控、内存泄漏检测等功能。 特性 1.OOM监控:监控OOM,Dump引起爆内存的堆栈 2.大内存分配监控:监控单次大块内存分配,提供...
小议iOS内存管理-中文.pdf
5.1)Objective-C内存管理相关术语 5.2)什么是引用计数? 5.2.1)引用计数解释 5.2.2)文艺解释 5.2.3)代码测试 5.3)自动释放池 5.3.1)AutoreleasePool的原理 5.3.2)自动释放池的创建和销毁 5.3.3)自动释放池的使用...
ios memory 内存管理 apple
IOS IPhone 内存管理,可以学到内存管理的精髓。
IOS的内存管理详解。 Delegate具体详解,使用流程。 Speex的语音压缩技术。 完整详细解读。40页,通俗简单,深入浅出,并有代码示例ppt。
用于检测iOS内存泄漏,当每个页面结束时,能显瘦该页面的内存泄漏情况。这是一个很好的开发小工具
介绍IOS内存管理的一本电子书,初学者可以很快的了解ios上的内存管理的机制,有一定经验的也可以从中得到新的收获。
深入介绍IOS内存管理和多线程操作,有助于提高ios开发水命