一、性能优化
- 1.0、APM性能监控
CPU占用率、内存/磁盘使用率、卡顿监控定位、Crash防护、线程数量监控、网络监控(TCP 建立连接时间 、DNS 时间、 SSL时间、首包时间、响应时间 、流量)、ViewController启动耗时监测 、load方法耗时、方法耗时监控......
- 1.1、内存优化
合理的线程分配、使用正确的API、延时加载、按需加载/复用、处理内存警告、自动释放池@autoreleasepool、图片降采样/分片加载、NSCache、避免循环引用导致的内存泄漏
- 1.2、卡顿优化
优化业务流程、 预处理、 缓存/空间换时间、避免圆角/阴影/光栅化/透明造成的离屏渲染、异步解码/异步绘制、合并图层、图像字节对齐
- 1.3、 安装包瘦身
去掉无用/重复资源、压缩资源、矢量图/图片格式、编译选项优化、可执行文件瘦身、如果不支持32位以及 iOS8 就去掉 armv7 、xcassets管理常用的、较小的图图片、大图放在 Bundle 内管理、静态库瘦身
- 1.4、启动时间优化
合并减少动态库和类、尽量不要用C++虚函数(创建虚函数表有开销),、二进制重排/减少缺页中断、load 的方法处理和耗时监听、异步延时加载、业务流程优化、rootViewController的加载
-
1.5、编译时间优化
-
1.6、网络优化
合并多个请求、304缓存
- 1.7、健壮性/稳定性
启动连续闪退保护、Crash防护、Crash分析
- 1.8、安全性
代码混淆
- 资料
iOS-Performance-Optimization
深入剖析 iOS 性能优化-戴明
DoraemonKit
乐少
iOS 性能监控(三)—— 方法耗时监控
iOS crash 日志堆栈解析
iOS崩溃crash大解析
iOS实录14:浅谈iOS Crash(一)
iOS Memory 内存详解 (长文)
iOS 性能优化调试专题
iOS Memory Deep Dive
iOS性能优化系列篇之“列表流畅度优化”
iOS瘦身之道
iOS应用瘦身总结
如何使用 Clang Plugin 找到项目中的无用代码
基于clang插件的一种iOS包大小瘦身方案
iOS 启动速度优化和安装包优化简单总结
iOS代码瘦身实践:删除无用的类
优化 App 的启动时间
AppStartTime
iOS App 启动性能优化
iOS一次立竿见影的启动时间优化
iOS Dynamic Framework 对App启动时间影响实测
iOS优化篇之App启动时间优化
iOS如何提高10倍以上编译速度
为什么 Debug Information Format 改为 DWARF 可以提高编译速度?
移动 APP 网络优化概述
二进制重排-编译插桩与动态trace结合
关于WKWebView 秒开方案
如何自建 Crash 平台
iOS客户端稳定性体系
iOS 包瘦身浅析
iOS 崩溃排查技巧:如何获取系统库源码 iOS 性能优化:优化 App 启动速度
iOS 性能优化:使用 MetricKit 2.0 收集数据
iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+
抖音品质建设 - iOS启动优化《原理篇》
iOS Rendering 渲染全解析(长文干货)
再谈 iOS App Crash 防护 iOS 网络优化: 使你的 App 网络交互更流畅
GoldHouse-for-iOS
卡顿率降低50%!京东商城APP卡顿监控及优化实践
【性能优化】今日头条iOS客户端启动速度优化
iOS 崩溃排查入门:总览 卡顿率降低50%!京东商城APP卡顿监控及优化实践
二、数据结构与算法
- 1、 LeetcodeTop
- 2、小浩算法
- 3、labuladong的算法小抄
三、面试题相关
- 1、iOS-InterviewQuestion-collection
- 2、阿里、字节 一套高效的iOS面试题解答
- 3、2019年iOS面试反思总结
- 4、IOS面试考察(九):性能优化相关问题
- 5、Theendisthebegi
- 6、analyze
- 7、iOS 方案之本之使用汇编可以 Hook objc_msgSend
- 8、iOS Rendering 渲染全解析(长文干货)
- 9、iOS | 面试知识整理 - OC基础 (二)
- 10、各种精选面试题
- 11、iOS | 面试知识整理 - Swift 基础(九)
- 12、iOSDevLevelingUp
- 13、iOS 基础
- 14、深入理解RunLoop
- 15、BoyangBlog
- 16、阿里、字节:一套高效的iOS面试题
- 17、《招聘一个靠谱的 iOS》
- 18、聚焦于iOS开发面试题和开发笔记
四、逆向与安全
- 1、 趣探 Mach-O
- 2、 iOS程序员的自我修养 - 编译、链接、装载
- 3、[iOS翻译]编译器
- 4、Injection:iOS热重载背后的黑魔法
- 5、高效逆向 - 为任意iOS App生成符号表
- 6、iOS LLVM-Clang 浅谈
- 7、iOSer逆向
- 8、fishhook 原理探究
- 9、Mach-O文件、深入iOS系统底层之程序映像
- 10、深入iOS底层系列
- 11、iOS App 安全加固方案调研
五、音视频
- 1、(强烈推荐)移动端音视频从零到上手
- 2、移动开发者的必知音视频基础知识
- 3、GoPlay是一款基于FFmpeg/OpenGLES2.0的iOS播放器
- 4、CainCamera
- 5、Android 音视频开发学习思路
- 6、loyinglin
- 7、CC老师
六、跨平台/热更新
- 1、DSBridge /JSBridge /JSPatch/
- 2、写给自己看系列之WebViewJavascriptBridge源码分析
- 3、OCRunner:完全体的iOS热修复方案
- 4、DynamicOC
- 5、js-native 通信的 6 种方式
- 6、美团外卖客户端容器化架构的演进
- 7、SYWebViewBridge
- 8、JSPatch-实现原理详解
- 9、WKWebview秒开实践分享及问题解决方案
- 10、轻量级低风险 iOS 热更新方案
- 11、有赞webview加速平台探索与建设(一)
- 12、ReactNative iOS 框架源码解析
- 13、写一个易于维护使用方便性能可靠的Hybrid框架
- 14、今日头条品质优化 - 图文详情页秒开实践
七、Shell脚本
八、网络
九、效率
十、架构/设计模式
- 1、IOS设计模式探索(大话设计模式)
- 2、面向对象设计的设计原则和设计模式
- 3、iOS VIPER架构实践(一):从MVC到MVVM到VIPER
- 4、浅谈 MVC、MVP 和 MVVM 架构模式
- 5、iOS MVC、MVVM、MVP架构模式浅浅析
十一、优秀三方源码解析
- 1、优秀的三方源码
- 2、波儿菜
- 3、写给自己看系列之WebViewJavascriptBridge源码分析
- 4、JSBridge 实现原理解析
- 5、MLeaksFinder
- 6、JSPatch
- 7、Fishook
- 8、Aspect
- 9、YYCache 源码解析(一):使用方法,架构与内存缓存的设计
网友评论