老青菜

iOS NSMutableArray 底层实现

objc
在这之前,一直以为NSMutableArray底层实现和普通可变数组(c++ vector)一样,插入和删除都会涉及到元素移动,时间复杂度可能会达到O(n),效率并不高,直到看到这篇文章 NSMutableArray原理揭露 ,才发现自己理解是错误的。这里记录一下自己的分析过程。 普通可变数 ...
Read more

iOS 离屏渲染分析

性能
上一篇文章 ,我们了解了iOS渲染架构,以及 GPU 的渲染流程。GPU 的渲染方式有两种。 On-Screen Rendering:当前屏幕渲染,CPU、GPU 不停地将内容渲染完成放入frame buffer帧缓冲区中,显示屏幕从 frame buffer中获取内容显示。 Off-S ...
Read more

iOS 屏幕渲染分析

性能
关于 iOS 的渲染架构,Advanced Graphics and Animations for iOS Apps 这里有介绍。(官方 WWDC14 419 已经找不到了) 整个渲染架构大致分4层: UIKit常用的视图层框架,供APP应用层使用。 Core Animation图形渲染和 ...
Read more

iOS Atomic 底层分析

objc
原子属性,只能保证getter、setter的操作是安全的。我们看下objc里关于getter、setter的实现。 //objc-accessors.mm ///属性锁 static StripedMap<spinlock_t> PropertyLocks; /// get ...
Read more

iOS NSLock 底层分析

iOS Lock

Foundation框架中,提供了NSLock互斥锁、NSCondition条件变量、NSConditionLock条件锁、NSRecursiveLock递归锁。

Read more
Prev Next