1 36 . . . 37 38 39 // 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。 40 android:allowTaskReparenting=["true" | "false"] 41 42 // 是否保留状态不变, 比如切换回home, 再从新打开, ... ...
分类:
移动开发 时间:
2017-05-07 15:37:17
阅读次数:
201
1.#import和#include的差别 @class? @class一般用于头文件里须要声明该类的某个实例变量的时候用到,在m文 件中还是须要使用#import 而#import比起#include的优点就是不会引起交叉编译 2. readwrite,readonly,assign,retain ...
分类:
移动开发 时间:
2017-05-06 14:22:38
阅读次数:
193
当我们用alloc、new、copy创建对象时,对象的应用计数为1,当把这个对象retain时。引用计数+1。当对这个对象发送release消息时,引用计数-1,当对象的引用计数为0时,系统回收这个对象,这时指向这个对象的指针为野指针,要把野指针赋值为nil,另外当对象的引用计数为0时。会调用dea ...
分类:
移动开发 时间:
2017-05-06 14:16:30
阅读次数:
140
引用计数:通过给对象计数标志,来判断是否释放对象 注:只能释放自己持有的对象 如obj这个对象,并不是你所持有的对象,所以你无法进行释放 但是你可以通过retain来持有这个对象 什么样的对象不是你所持有的,比如你调用了 使用autorelease会让你的对象注册到autoreleasepool中, ...
分类:
其他好文 时间:
2017-05-02 23:40:35
阅读次数:
286
在iOS中,UIButton、UIImage等UIView之所以能够显示在屏幕上,是因为其内部有一个图层(CALayer)。通过UIView的layer属性可以访问这个图层:@property(nonatomic,readonly,retain)CALayer*layer;当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘..
分类:
其他好文 时间:
2017-04-30 23:04:32
阅读次数:
216
我们为什么须要内存管理?当使用内存达到40M和45M时候会发出警告,假设不处理,占用内存达到120M时直接强制关闭程序。所以出现闪退除了是程序出现逻辑错误,还有可能是内存使用过大。 (1)创建一个对象的过程:先分配内存空间存储对象;初始化成员变量;返回对象的指针。 (2)对象在创建时,内部会自己主动 ...
分类:
移动开发 时间:
2017-04-26 10:09:02
阅读次数:
240
说明:在用户实例化的方法控制单次执行,同时开放单例的初始化方法。 说明:在用户实例化的方法控制单次执行,同时开放单例的初始化方法,由于当前为MRC所以需要控制参内存管理的方法单次执行,因此相比ARC需要增加: 说明:为了方便后期的引用,可以将单例抽取为宏定义,鉴于抽取的时候考虑到当前的手动计数和自动 ...
分类:
其他好文 时间:
2017-04-23 20:21:10
阅读次数:
192
一、简介 ARC,自动引用计数,是指iOS的内存管理使用引用计数的技术。 在OC中采用Automatic Reference Counting的机制,让编译器进行内存管理。在新一代的Apple LLVM编译器中设置ARC为有效状态,就不用再次键入retain、release代码,这在降低程序崩溃、内 ...
分类:
其他好文 时间:
2017-04-14 18:51:14
阅读次数:
123
ARC(是编译器特性)ARC是自iOS5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切ARC是编译器特性,而不是iOS运行时特性,它也不是类似于其它语言中的..
分类:
其他好文 时间:
2017-04-14 10:15:54
阅读次数:
194
UIButton *btn = // create the button objc_setAssociatedObject(btn, "firstObject", obj, OBJC_ASSOCIATION_RETAIN_NONATOMIC); [btn addTarget:self action:... ...
分类:
其他好文 时间:
2017-04-01 12:45:38
阅读次数:
148