Speeding up application startup time
Wednesday, May 12, 2010 at 8:08 | tagged
development,
iphonedev,
programming One one the thing I want to improve with Ultimate Password Manager is the application launch time, particularly on the first application launch. Currently, on the first generation iPod touch, one of the slowest device, the application launch time are:
Application first startup launch times:
- Version 2.1.0.175: 12 seconds
- Version 2.1.1.185: 13 seconds
The time is measured from the touch of the application's icon on the iPhone home screen to the first visual change in the user interface while looking at the default splash screen. This is a good measure because this is the most critical period where the user's perception of the application speed is in full swing. I could extend that measurement to include the time for the application to become fully operational but since my application animate its splashscreen, this is less required as the user watch the small animation occurring.
After optimizing the application delegate method applicationDidFinishLaunching, the new launch time are:
2.2.0: 5 seconds
For all versions of my application, the application launch times are 2.5 seconds which is not bad.
How I did the optimization? By splitting the code in applicationDidFinishLaunching as chunk. Before, this method was a long series of steps and tasks that was using to perform application runtime data structures and loading. By splitting these tasks in smaller methods, I can then schedule those in NSOperation queue operations.
Post a Comment | 

Reader Comments