iOS

面试题简答

2020-11-21  本文已影响0人  你飞跃俊杰

一、AFN和ASI的区别

ASI用cookies 保存在本地,不安全

AFN用session 保存服务器,相对安全

互坼锁,回到主线程

二、NSRunloop的五大类

一个线程至少有一个runloop

main的默认开启,子线程的默认关闭

1.RunloopRep

底层C的runloop

2.Model 相当于进程的状态

Default默认模式,Tracking用户交互模式,Common伪模式model集合,initialtialzation启动模式,eventRecei接受内部事件模式

3.Timer

等价于NSTimer

刷新有三种:GCD,NSTimer,CADisaplaytime

4.Observer 监听线程状态

监听七种状态1.即将进入runloop 2.即将处理timer 3.即将处理source 4.即将sleep 5.刚被唤醒,即将退出sleep.6.即将退出exit 7.全部活动all activity

5.Source 0 互坼锁,1自旋锁

Timer失效:1. Runloop 没有开启,2.runloop被释放了

Timer无法释放:重写调用方法,用虚类来引用父类进行消息转发

三、block

堆(有外部参数

栈(__block 将block拷贝到栈

全局 其他

循环引用:weak

被释放:strong

四、离屏渲染:

内存管理:

多线程:

线程锁:lock,@sythasy,

上一篇下一篇

猜你喜欢

热点阅读