This project contains foundation knowledge and highly recommended resources on optimizing your iOS application performance. Contributions are welcome 👋
- Understand iOS App Size by Emerge
- Understand static framework & dynamic framework by Emerge
- Basic optimization to reduce app size by Apple
- Advance optimization to reduce app size by Apple
- Reducing app size by Apple
- Strip Binary Simple
- Xcode build time optimization
- Are Android apps THAT much smaller than iOS? by Emerge
- Emerge Tool size Analysis
- Periphery - Static analysis - Unused code detection
- FengNiao - Unused image detection
- Reaper by Emerge: Dynamic analysis for Unused code
- How Uber Deals with Large iOS App Size
- How 7 iOS Apps Could Save You 500MB of Storage by Emerge
- Spotify
- Make Your iOS App Smaller with Dynamic Frameworks
- Manage Image Resources
- Duolingo remove 10000 lines of unused code by using Reaper
- Clean build vs. Incremental build
- Swift Compiler Performance by Apple
- Understanding Swift Performance by Apple: Understand how ARC works and how it impacts your app's performance
- Performance of value type by Swiftrocks
- Xcode Build time Rendering
- XCMetrics
- Tuist
- Bazel
- Cocoapod binary cache by Grab
- Build time analyzer: Measure the time Xcode takes to compile every funcs
- About the app launch sequence by Apple
- Cold launch vs Warm launch: Apple
- Dynamic Linker vs Static Linker
- Mach-O
- Dyld
- Xcode Instruments
- Apple
- Uber
- Facebook Dynamic Loading
- How Door Dash Reduced iOS App Launch Time by 60%
- Why Swift Reference Types Are Bad for App Startup Time - Emerge
- Thread explosion by SwiftSenpai
- Making efficient use of the libdispatch (GCD) by Apple engineer
- Track down hangs with Xcode and on-device detection: track hangs during pre-release testing, show you how to identify issues in release builds using the Xcode Organizer
- Analyzing responsiveness issues in your shipping app
- You don't always need weak self
- Nested closure weak self
- Detect Unused code using Memory graph debugger
- Automating Memory Leak Detection with CI Integration
- Analyze Heap Memory: Apple WWDC
- Copy-on-write
- Memory Leaks Check: A tool for detecting memory leak in CI
- MLeaksFinder: Hooks the dealloc method to check whether an object still exists after being released, thereby determining if there is a memory leak
- FBRetainCycleDetector: Traverses strong references between objects and builds a reference graph. If it detects a cycle, it indicates a retain cycle issue
- Diagnosing issues using crash reports and device logs - A series of diagnosing crash issues by Apple