0%

Runtime综合面试题

isa指针

介绍:

TaggedPointer专门用来存储小的对象,如NSNumber、NSDate、NSString。其存储的不是地址,而是真正的值,所以它直接存储到栈中。

一般来说,一个线程只能执行一个任务,执行完成后线程就会退出。而事件循环(即一个while循环)能让线程能随时处理事件但不退出。

1
2
3
4
5
while (alive) {
performTask() //执行任务
callout_to_observer() //通知外部
sleep() //休眠
}

AVAssetExportSession

AVAssetExportSession可以实现简单的导出。

媒体创作和编辑基本是AVFoundation的高级接口,较少涉及底层接口。整个过程总的来说就是构建AVAsset的过程,而在视频编辑中,构建的是AVMutableComposition的过程。

整体关系

整型提供不同字节序的视图:

  • littleEndian
  • bigEndian
  • byteSwapped:字节序翻转,即大端->小端,或小端->大端

property属性加上atomic属性后,可以一定程度地保障多线程安全。

不安全的定义:多线程访问时出现意料之外的结果。