iOS学习资料收集

100 阅读4分钟

0. 整合类文章

  1. GoldHouse

基础开发

RunTime

  1. 深入理解 Objective-C:方法缓存(美团技术团队)

  2. Method Swizzling

  3. 用Runtime的手段填充任意NSObject对象的nil属性

  4. VKMsgSend

    用起来很像performselector,但是完全没有参数个数限制,以及参数id类型限制,(任意类型 struct int bool),功能上很像运行时Objc_msgSend,但是在64位上无需强制类型转换,可以直接输入参数

RunLoop

  1. 深入理解RunLoop(ibireme)

    备用:www.cnblogs.com/oldk/articl…

  2. iOS RunLoop 源码注释

    1. CFRunLoopRun函数详解注释
  3. iOS刨根问底-深入理解RunLoop

  4. CFRunloop的多线程隐患

  5. CoreFoundation/CFRunLoop.c

  6. 优化UITableViewCell高度计算的那些事(RunLoop应用)

  7. iOS RunLoop详解

  8. 苹果文档 Run Loops

  9. CFRunLoop ming1016

线程堆栈抓取方法

  1. BSBacktraceLogger

    BSBacktraceLogger源码解析

App 路由

  1. iOS 组件化 —— 路由设计思路分析
  2. 货拉拉iOS模块化路由框架:TheRouterSwift
  3. 货拉拉开源实现:github.com/HuolalaTech…
  4. 宏--从入门到精通
  5. 京东iOS分模块开发管理实践
  6. github.com/Awhisper/VK…

Mach-O

dyld

  1. apple-oss-distributions/dyld
  2. iOS进阶 - App启动 & dyld详解(一)

RunTime

  1. 苹果开源代码:apple-oss-distributions/objc4

卡顿相关

  1. 如何检测 iOS app 卡顿导致的系统强杀(MrPeak杂货铺)
  2. iOS App 使用 GCD 导致的卡顿问题(MrPeak杂货铺)
  3. QQ空间掉帧率优化实战
  4. iOS 性能优化总结(卡顿相关)
  5. iOS 保持界面流畅的技巧(ibireme)
  6. 微信iOS卡顿监控系统⭐️
  7. iOS 性能检测(github:faimin PerformanceMonitor)
  8. iOS 实时卡顿监控(github:lishichao PerformanceMonitor)

渲染相关

  1. 绘制像素到屏幕上
  2. Advanced Graphics and Animations for iOS Apps(session 419)
  3. Designing for iOS: Graphics & Performance
  4. iOS离屏渲染之优化分析
  5. iOS视图渲染以及性能优化总结
  6. 离屏渲染之我知

内存相关

  1. iOS微信内存监控(腾讯WeTest)
  2. Reducing FOOMs in the Facebook iOS app
  3. 你真的了解OOM吗?——京东iOS APP内存优化实录
  4. iOS Memory Deep Dive(wwdc2018/416)
  5. iOS内存管理和malloc源码解读
  6. 探索iOS内存分配]
  7. OOM探究:XNU 内存状态管理
  8. iOS 底层解析weak的实现原理(包含weak对象的初始化,引用,释放的分析)
  9. 深入探究 Objective-C 对象的底层原理(京东零售技术)
  10. iOS Out-Of-Memory 原理阐述及方案调研

性能优化

  1. 手机淘宝性能优化
  2. 深入剖析 iOS 性能优化(戴铭)

多线程

  1. GCD源码:apple-oss-distributions/libdispatch
  2. 掘金:多线程-GCD

监控方法级耗时

  1. 监控所有的OC方法耗时
  2. github.com/maniackk/Ti…

业务开发

iOS响应链

  1. iOS触摸事件全家桶
  2. 史上最详细的iOS之事件的传递和响应机制-原理篇
  3. iOS 的响应链小结
  4. Using responders and the responder chain to handle events