1、strong和weak
strong:强指针/强引用;默认情况下,任何指针都是强指针 ;也就是说,我们平常定义的时候Person *p =[ [Person alloc] init];都是strong;
weak:弱指针/弱引用;使用_weak修饰的指针。
ARC(自动引用计数)的判断准则:只要没有任何强指针指向,这个对象就会被销毁;
当然超过自己的作用范围也会被销毁;
但是程...
分类:
移动开发 时间:
2015-06-14 09:38:41
阅读次数:
245
1.在 ARC 中,所有*outlet*属性都推荐使用 weak,这些 view 对象已经属于 View Controller 的 view hierarchy,不需要再次定义为 strong(ARC 中效果等同于 retain)。唯一应该使用 strong 的 outlet 是 File's Ow...
分类:
其他好文 时间:
2015-06-11 18:58:12
阅读次数:
96
OC8-内存管理
OC语言中的内存管理机制为ARC(Automatic Reference Counting,自动引用计数)。与2011年中旬推出,替换陈旧且低效的手动内存管理,关于手动内存管理的内容,本章教程不在讲授。本章主要从以下几个方面对内存管理进行展开讲讲解。
内存管理原则对象引用类型属性引用类型强引用循环AUTO类型与释放池
1,内存管理原则
核心原则:没有被对象指针使用(指...
分类:
其他好文 时间:
2015-06-01 22:47:53
阅读次数:
260
析构在一个类的实例被释放之前,析构函数会被调用。用关键字deinit来定义析构函数,类似于初始化函数用init来定义。析构函数只适用于class类型。1、析构过程原理Swift 会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift 通过自动引用计数(ARC)处理实例的内存管理。通...
分类:
移动开发 时间:
2015-05-28 13:55:14
阅读次数:
138
OS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数 )来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写...
分类:
其他好文 时间:
2015-05-24 14:11:00
阅读次数:
130
1. 用ARC管理内存
ARC(Automatic ReferenceCounting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。除了帮你避免内存泄露,ARC还可以帮你...
分类:
移动开发 时间:
2015-05-20 16:30:18
阅读次数:
163
ARC 自动引用计数ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误。 同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存。总是通过属性...
分类:
其他好文 时间:
2015-05-14 18:35:58
阅读次数:
117
IOS开发语言Swift入门连载—析构过程在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit 来标示析构函数,类似于初始化函数用init 来标示。析构函数只适用于类类型。
析构过程原理 Swift会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资...
分类:
移动开发 时间:
2015-04-28 12:04:34
阅读次数:
148
IOS开发语言Swift入门连载—自动引用计数Swift使用自动引用计数(ARC)这一机制来跟踪和管理你的应用程序的内存。通常情况下,Swift 的内存管理机制会一直起着作用,你无须自己来考虑内存的管理。ARC 会在类的实例不再被使用时,自动释放其占用的内存。
然而,在少数情况下,ARC 为了能帮助你管理内存,需要更多的关于你的代码之间关系的信息。本章描述了这些情况,并且为你示范怎样启用 AR...
分类:
移动开发 时间:
2015-04-28 12:02:40
阅读次数:
269
引用计数器的基本操作/*
1.方法的基本使用
1> retain :计数器+1,会返回对象本身
2> release :计数器-1,没有返回值
3> retainCount :获取当前的计数器
4> dealloc
* 当一个对象要被回收的时候,就会调用
* 一定要调用[super dealloc],这句调用要放在最后面 2.概念
1> 僵尸对象 :所占用内存已经被回收的对象,僵...
分类:
其他好文 时间:
2015-04-20 15:03:34
阅读次数:
134