Why is my Air application taking so long to show the first view on iOS devices?
I built an Air application that runs on Android devices and iOS devices. The application uses Air 3.4 and Flex SDK 4.6. On my Android device, the application starts in 5 seconds. On my iPad device, the application starts in 90 seconds.
My application has a splash screen, which is launched via the ViewNavigatorApplication property, splashScreenImage.
The application was built in release mode and the SWF file is 1.384M. After I create the ad-hoc build, which includes the Air Captive Runtime, I see the following file sizes and startup times.
iPad 2 - ipa size, 8.6M
12 seconds of black screen. Then my splash screen appears. 80+ seconds of splash screen. Then my first view appears.
Android Nexus 7 - apk size, 4.0M
2.5 seconds of black screen. Then my splash screen appears. 2.5 seconds of splash screen. Then my first view appears.
Here are more details about my app.
It's a video conferencing app. So I have to set renderMode to "cpu". The app has 5 views and several popups. The popups use the SkinnablePopupContainer. The app uses dependency injection as provided by the Parsley framework to share two small data objects between the views. The app uses web service calls to manage the conference state.
The problem occurs at startup. I haven't rendered a view with video logic, and the first view is a welcome page with a scrollable text area for terms and conditions, one button with an icon, one toggle button, and one hyperlink button.
The app has about 400k of embedded images which are rendered using the MultiDPIBitmapSource.
The app has 43.3K of icons for the various sizes as specified in the application xml file.
Any help would be greatly appreciated.
