会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
任伟
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
···
18
下一页
2022年2月25日
内存管理(三)
摘要: OC对象的内存管理 在iOS中,使用引用计数来管理OC对象内存。 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销毁,释放其占用的内存空间。 调用retain会让OC对象的引用计数+1,调用release会让OC对象的引用计数-1。 内存管理的经验总结 当调用alloc、new
阅读全文
posted @ 2022-02-25 10:45 任淏
阅读(137)
评论(0)
推荐(0)
2022年2月24日
内存管理(一)
摘要: 开局几道面试题: 使用CADisplayLink、NSTimer有什么注意点 介绍下内存的几大区域 讲一下你对iOS内存管理的理解 ARC帮我们做了什么? weak指针的实现原理 autorelease对象在什么时机会被调用release 方法里面有局部变量,出了方法后会立即释放吗? 小伙伴,你能答
阅读全文
posted @ 2022-02-24 15:09 任淏
阅读(73)
评论(0)
推荐(0)
2022年2月23日
多线程学习(二)
摘要: 多线程的安全隐患 资源共享 一块资源可能被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象、同一个变量、同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数据安全问题 两个经典的例子 存钱取钱 卖票 死锁 什么是死锁? 所谓死锁,是指多个进程在运行过程中因争夺资
阅读全文
posted @ 2022-02-23 15:04 任淏
阅读(88)
评论(0)
推荐(0)
多线程学习(一)
摘要: 开局几道面试题: 你理解的多线程? iOS的多线程方案有哪几种?你更倾向于哪一种? 你在项目中用过GCD吗? GCD的队列类型 说一下operationQueue和GCD的区别,以及各自的优势 线程安全的处理手段有哪些? OC你了解的锁有哪些? 自旋锁和互斥锁对比 使用以上锁需要注意哪些? 用C/O
阅读全文
posted @ 2022-02-23 14:52 任淏
阅读(78)
评论(0)
推荐(0)
2022年2月22日
RunLoop学习
摘要: 开篇几道面试题: 讲讲RunLoop,在项目中有用到吗? runloop内部实现逻辑 runloop和线程的关系 timer与runloop的关系 程序中添加每3秒响应一次的NSTimer,当拖动tableview时timer可能无法响应,为什么?怎样可以解决? runloop是怎样响应用户操作的,
阅读全文
posted @ 2022-02-22 15:28 任淏
阅读(89)
评论(0)
推荐(0)
2022年2月14日
Runtime的本质(六)---常用的API
摘要: Runtime的一些常用API Runtime API - 01 – 类 动态创建一个类(参数:父类,类名,额外的内存空间) Class objc_allocateClassPair(Class superclass, const char *name, size_t extraBytes) 注册一
阅读全文
posted @ 2022-02-14 10:37 任淏
阅读(75)
评论(0)
推荐(0)
Runtime的本质(五)
摘要: 面试题: 答案 my name is <ViewController: 0x15f2026e0> 首先,我们看下 YZPerson *person = [[YZPerson alloc] init]; [person print]; 两句代码在内存方面的存储状态: person指针 指向 YZPer
阅读全文
posted @ 2022-02-14 10:32 任淏
阅读(70)
评论(0)
推荐(0)
Runtime的本质(四)---[super class]、isKindOfClass、isMemberOfClass
摘要: 来一道面试题: @interface YZPerson : NSObject @end @interface YZStudent : YZPerson @end @implementation YZStudent - (instancetype)init { if (self = [super in
阅读全文
posted @ 2022-02-14 10:25 任淏
阅读(75)
评论(0)
推荐(0)
Runtime的本质(三)----objc_msgSend
摘要: OC中的方法调用,其实都是转换为objc_msgSend函数的调用 objc_msgSend的执行流程可以分为三大阶段: 消息发送 动态方法解析 消息转发 1.消息发送 问:当空对象调用方法的时候,是怎么操作的? 当调用方法的时候,执行的是objc_msgSend函数objc_msgSend(<#i
阅读全文
posted @ 2022-02-14 10:11 任淏
阅读(117)
评论(0)
推荐(0)
2022年1月17日
Runtime的本质(二)-objc_class结构
摘要: 这篇文章,我们主要来介绍一下objc_class结构的内容与含义。 我们知道Class的类型是objc_class类型 typedef struct objc_class *Class; 点进去objc_class可以看到部分定义: objc_class继承objc_object objc_obje
阅读全文
posted @ 2022-01-17 10:31 任淏
阅读(220)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
18
下一页
公告