A collection of code substitutions and configurations that can improve the performance of Objective-C code on iOS.
Most code substitutions and configurations documented here consist of replacing high-level APIs that were made for flexibility over performance with lower-level alternatives for the task at hand, or class properties that affect drawing performance. Good architecture and proper threading is always important for app performance, but sometimes we need to use specialized implementations.
iOS App Performance Cheatsheet is sectioned into Markdown files by Objective-C framework:
- Great format for saving to disk or accessing via the web
- Encourages contributions and improvements
- GitHub Flavored Markdown looks nice
There is a reason why this is called a cheatsheet. You should avoid premature optimizations, and only seek out code replacements when you have determined that a specific code path has become a performance bottleneck. Hopefully, however, this cheatsheet will provide a bit of insight into some of the bottlenecks that usually arise, and some of the options available to you.
Pull requests are welcome! The best contributions will consist of substitutions or configurations for classes/methods known to block the main thread during a typical app lifecycle.