[MonoTouch] Can I show splash image within a second?

Rory Blyth lists at rory.me
Sun Nov 22 18:48:24 EST 2009


I saw that your question was answered, but one way to increase startup  
performance for *any* iPhone app is to either:

1) Code part or all of the UI by hand. It takes time to load NIBs.

2) If you're using XIBs, don't put the entire UI for your app inside a  
single XIB - break it up logically. For example, if you have an  
"About" screen, it's something most users aren't ever going to care  
about. But if you stick it in that MainWindow.xib file, it's going to  
become overhead at *startup*.

At most, *if* I use XIBs, I'll use MainWindow *only* to lay out tab or  
nav controllers (I'd rather build the beginnings of that hierarchy  
with a tool than code it, though coding it really isn't that bad).

It's a common n0ob error to stuff everything you can manage inside a  
single XIB (with MT, I assume devs tend to overdo it with MainWindow),  
and that stuff has to be unarchived at runtime - the more there is to  
slog through at startup, the slower your app is going to... well, start.

For an experiment, try going XIBless, or minimizing what's in your  
MainWindow.xib, loading new NIBs only when *necessary* (sorry for the  
confusing switches in terminology - a NIB is a binary XIB, and it's  
what's going to end up in your app bundle).

This will also decrease strain on memory, which is a big issue on the  
iPhone.

Hope this helps :)

- Rory
- Sent from my iPhone

On Nov 12, 2009, at 10:43 PM, akihiro uehara <rupppau at gmail.com> wrote:

> Hi,
>
> I'm wondering how I can  show a splash image and a waiting cursor
> within a second on a device.
> On my test device (iPod touch 1st Gen. OS 3.1.2), even a simple hello
> world app (release build) takes about 2 seconds until some views are
> on a screen.
>
> I want to show a splash image and a waiting cursor instead of the
> black screen. To accomplish this, I think that I should write main and
> application delegate class in objective-c to show a splash image and
> then call a method written in monotouch.
>
> Well, Is there any way to connect objective-c boot class to C#  
> classes ?
> Or is there any way to avoid start-up black screen ?
> _______________________________________________
> MonoTouch mailing list
> MonoTouch at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monotouch



More information about the MonoTouch mailing list