You should probably learn to use Instruments to figure out what your program is doing. The "Time Profiler" instrument would be a good place to start.
It's almost impossible to answer this in the abstract. The real answer is "it depends on how your app is written."
The system will invoke the init method on your app delegate, as well as the class method +initialize (if you have one - you probably don't.)
If you're using storyboards, the system will open your app's storyboard and figure out which view controller is the root view controller. It will load that view controller and invoke it. So all the methods involved in invoking that view controller will fire.
Once that is done, your didFinishLaunching:withOptions method will be called. You should make sure this method doesn't do anything that takes a long time, like downloading content from the internet.
If you do need to download content at launch, you should do it asynchronously.