iOS底层原理系列
文章平均质量分 95
以OC的视角介绍iOS开发相关的底层原理
Mr.NickJJ
专注React、React Native、iOS开发,热爱技术,喜欢交流
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
iOS底层原理系列06-RunLoop原理与应用实践
RunLoop是iOS开发中的核心机制,它不仅是线程管理的基础,也是实现高性能应用的关键。优化应用性能:合理安排任务在不同的RunLoop模式下执行,避免主线程阻塞。提高UI流畅度:理解UI渲染与RunLoop的关系,优化渲染流程。实现高级功能:利用RunLoop实现线程常驻、延迟加载、卡顿监控等功能。在实际开发中,我们应该根据具体需求选择合适的RunLoop应用策略,既不过度优化,也不忽视性能问题。只有透彻理解RunLoop的工作原理,才能在开发中游刃有余地应对各种复杂场景。原创 2025-03-15 13:19:23 · 2089 阅读 · 0 评论 -
iOS底层原理系列05-内存管理:从核心原理到高级优化
iOS 内存管理已经从最初的手动管理模式发展到如今的 ARC 自动管理机制,极大提高了开发效率并减少了内存相关错误。然而,高性能 iOS 应用仍然需要开发者深入理解内存管理机制,避免循环引用和内存泄漏,优化内存占用,并合理处理内存压力。通过合理使用自动释放池、弱引用、适当的缓存策略以及内存监控工具,你将能够在保持应用性能的同时,提供流畅的用户体验,避免因内存问题导致的崩溃和性能下降。。原创 2025-03-14 19:04:55 · 1456 阅读 · 0 评论 -
iOS底层原理系列04-并发编程
iOS提供了多种并发编程和线程安全的机制,从底层的pthread到高级的GCD和NSOperation。性能需求:对于性能要求极高的场景,考虑os_unfair_lock或dispatch_semaphore;对于一般场景,NSLock和串行队列足够。编程范式:如果偏好面向对象的API,选择NSOperation和NSLock系列;如果偏好函数式编程,选择GCD。任务特性:如果需要复杂的任务依赖和取消机制,选择NSOperation;如果是简单的并发任务,GCD更简洁。同步需求。原创 2025-03-14 18:15:26 · 1169 阅读 · 0 评论 -
iOS底层原理系列03-Objective-C运行时机制
存在形式:分类由category_t结构体表示,而扩展没有单独的结构体。加载时机:分类在运行时动态加载,扩展在编译期就与原类合并。实例变量:分类不能添加实例变量,扩展可以添加实例变量。方法覆盖:分类可以覆盖原类方法,多个分类之间按编译顺序覆盖;扩展的方法和原类方法等价,不存在覆盖关系。源码要求:分类可以为任何类添加功能,扩展只能为有源码的类添加功能。原创 2025-03-13 01:21:11 · 1488 阅读 · 0 评论 -
iOS底层原理系列02-深入了解Objective-C
对于自定义类,其内存结构会更复杂,包含从父类继承的变量和自己声明的变量。int _age;@end包含从NSObject继承的isa指针(8字节)包含一个int类型变量_age(4字节)包含一个double类型变量_height(8字节)包含一个NSString*类型的_name指针(由于@property自动合成,8字节)理论上总大小为:8 + 4 + 8 + 8 = 28字节。但实际分配会考虑内存对齐,可能会是32字节。特性+load调用时机程序启动加载类和分类时。原创 2025-03-13 00:28:35 · 3137 阅读 · 0 评论 -
iOS底层原理系列01-iOS系统架构概览-从硬件到应用层
iOS系统架构是一个精心设计的分层体系,从底层Darwin到用户交互的Cocoa Touch层,每一层都有其明确的职责和功能。系统启动过程涉及多个阶段,从安全启动链到应用初始化,确保了系统的安全性和高效运行。iOS的进程和线程管理机制则提供了强大的并发处理能力,通过严格的资源管理和先进的调度算法,在保证用户体验的同时优化设备能耗。原创 2025-03-12 22:00:32 · 3148 阅读 · 0 评论
分享