iOS Startup Performance in Practice, Part 1: Understanding Launch Types and Entry Points

https://hackernoon.imgix.net/images/5wpKgV75aONqkTJlafw2yQmK9yd2-qe83cnl.jpeg
What happens when an iOS app opens, which lifecycle callbacks are executed, and where startup measurement should begin and end.

An iOS application does not have one launch path.

A person may tap the app icon after restarting their phone, return to an app that is still suspended in memory, open a Universal Link from Safari, select a Home Screen quick action, or tap a notification that points to a particular screen. All of these actions appear to have the same result: the application opens. Internally, however, they can execute very different combinations of system and application code.

This distinction matters whenever we discuss startup performance. If we mix a process launch with a resume, or measure an icon launch while most users arrive through notifications, we can collect an accurate number that describes the wrong experience.

In one of the production applications I worked on, startup time had gradually...

Copyright of this story solely belongs to hackernoon.com. To see the full text click HERE

Read more