Skip to main content
Participant
November 7, 2012
Question

Why is my Air application taking so long to show the first view on iOS devices?

  • November 7, 2012
  • 4 replies
  • 1720 views

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.

This topic has been closed for replies.

4 replies

ActivelyXAuthor
Participant
November 8, 2012

I figured out how to resolve the issue. I had to change the renderMode from "cpu" to "direct". That solved the problem, and the application performs perfectly. Even the video displays work ok. It's interesting that Adobe advises against using "gpu" or "direct" renderMode when displaying video. I need to figure out why and make sure the application is acceptable as is.

I have more testing to conduct, but I'm very encouraged.

Inspiring
November 7, 2012

btw, I just saw the project monacle presentation. I'm going to give it a try.. Looks impressive  and might tell you exactly what you need to optimize.

Inspiring
November 7, 2012

Hi,

I too had major start up time problems but I was able to solve my issues. Read this discussion to see what I ended up doing:

http://forums.adobe.com/message/4694272#4694272

November 7, 2012

I find it helpful to compare timings between test-interpreter build and ad hoc build, and debug-able / non-debug-able swfs. Sometimes a missed setting causes large adhoc to be much slower than expected.