ios中的自动释放池
自动释放池中是否有虑重功能
1 @autoreleasepool { 2 UIView *view = [UIView alloc] init] autorelease]; 3 [view autorelease]; 4 }
这样写在自动释放池的队列中是两个对象还是一个对象,就是说把view加到自动释放池的队列时,队列本身是否对内容进行了虑重
防止对象的重复添加,比较view里面在队列中了,再次调用autorelease时还有没有作用。
于是写了一个测试代码
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2 { 3 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 4 // Override point for customization after application launch. 5 self.window.backgroundColor = [UIColor whiteColor]; 6 [self.window makeKeyAndVisible]; 7 8 UIView *view = [[[UIView alloc] init] autorelease]; 9 NSLog(@"%d", view.retainCount); 10 [view autorelease]; 11 12 return YES; 13 }
运行起来之后没有崩溃,说明自动释放池本身是有虑重功能,不会重复添加对象。
转载于:https://www.cnblogs.com/huangzizhu/p/3961919.html
ios中的自动释放池相关推荐
- iOS中内存自动释放池
自动释放池 iOS应用的主线程在每次runloop开始的时候创建自动释放池,在runloop结束的时候释放自动释放池.如果在一个runloop内,应用程序创建了大量临时对象,自动释放池可以减少内存峰值 ...
- iOS内存管理 —— 自动释放池和runloop
iOS内存管理 -- 自动释放池和runloop 1. 自动释放池 1.1 自动释放池介绍 1.2 自动释放池底层原理 objc_autoreleasePoolPush autoreleaseNoPa ...
- (转)Objective-C Autorelease Pools(自动释放池)详解
本篇将给您介绍"Autorelease Pools"(自动释放池)在应用中的使用技巧. 1,Autorelease Pools概要 一个"Autorelease Pool ...
- 【深入Cocos2d-x】探索Cocos2d-x中的内存管理-引用计数和自动释放池
2019独角兽企业重金招聘Python工程师标准>>> #深入Cocos2d-x-探索Cocos2d-x中的内存管理-引用计数和自动释放池 ###引用计数(Reference Cou ...
- iOS 多线程 自动释放池常见面试题代码
同步:代码依次执行,一个人执行多个任务,也是依次执行.一个人在同一时间只执行一个任务 异步:可以同时执行多个任务 进程:指在系统中运行的应用程序,每个进程都是独立的,都有独立的且安全的运行空间 线程: ...
- iOS之深入解析自动释放池autoreleasepool的底层原理
一.自动释放池 autoreleasepool 原理 自动释放池是 OC 中的一种内存自动回收机制,它可以将加入 autoreleasePool 中的变量 release 的时机延迟. 简单来说,就是 ...
- 【iOS高级资深工程师面试篇】④、2022年,金九银十我为你准备了《iOS高级资深工程师面试知识总结》 内存管理部分2/2 引用计数-弱引用-自动释放池-循环引用
iOS高级资深工程师面试篇系列 - 已更新3篇 UI部分1/3 -UITableView-事件传递&视图响应 UI部分2/3 -图像显示原理-UI卡顿&掉帧 UI部分3/3 -UIVi ...
- 内存管理-定时器循环、内存布局、tagged pointer、weak指针、copy、自动释放池
先上代码,我们平时用的定时器,cadisplaylink.nstimer,CADisplayLink.NSTimer会对target产生强引用,如果target又对它们产生强引用,那么就会引发循环引用 ...
- 自动释放池 ARC机制
IOS学习第24天 @class 1.两个类A和B,如果互相#import对方头文件,会造成死循环2.解决方式: 在其中的一方,不要用#import <xxx.h>来引入对方的头文件,用@ ...
最新文章
- 注册与验证码php源代码,一个简单的PHP验证码实现代码
- 淘宝服务端高并发分布式架构的十四次演进之路
- PHP json_decode 对 JSON 格式的字符串进行编码并获取对应的值
- 看聊天记录都学不会C语言?太菜了吧》(16)我一直以为校花很漂亮,直到我叫了她一声...
- 再读TCP/IP网络7层协议
- MyBatis-Plus_Condition作用
- mysql/sqlyog导入txt文件的方法
- Go语言语法学习:打印九九乘法表
- string常用函数用法集合
- Halcon OCR识别
- SLAM和三维重建中的SFM区别
- Dbutils常见方法
- 小米 Notebook Air 2016 13.3黑苹果efi引导文件
- 中国网页游戏行业调研与分析
- 微信小程序开发笔记1——使用npm脚本实现自动化切换环境配置
- 尚硅谷《全套Java、Android、HTML5前端视频》
- 数字电路之Verilog红绿灯设计
- 设计一款理财产品并发布推广
- 深入理解函数式编程(下)
- 达尔文的进化论VS柏拉图的理念论