You can directly improve MApplication start-up times with the following features:
- The application launcher is the primary alternative for reducing application start-up times. It preloads large libraries and instantiates, for example, MApplication and MApplicationWindow objects to a so-called component cache before the main() of the application is started. The application then uses the already created instances from the component cache. However, there are some limitations to launcher usage. For instance, it does not support some MeeGo Touch and Qt command line options.
- Application prestarting is meant for applications with slow initialisation times. Prestarting the applications brings them to a state where they do not show the UI. In that state the application window can be displayed in most of the cases immediately when requested. This provides the fastest results, but the drawback is the high memory usage caused by the prestarted applications. There may also be unexpected system maintenance tasks for the prestarted application processes. In the MeeGo Touch UI framework prestarting is limited to a small set of critical applications. This feature cannot be used without support from the system configuration.
- Lazy shutdown allows applications to be closed without terminating them. The next time when the application is needed, the application window is displayed very quickly. Lazy shutdown does not speed up the first start-up at all, but it improves the performance of applications that already take advantage of prestarting.
An application can use any combination of the above features.
In addition to these three features there are ways to improve startup experience for the user:
- When loading very heavy application GUIs, the developer can implement the GUI loading to happen in several phases so that the user can see some initial GUI fast when starting the application.
Documentation links