In our mobile influenced life we are using many apps on your smartphone, you may be wondering how these apps are branded – specifically for splash screen with app logo. This blog throws some light on the same
In general, android app launch has been classified into
- Cold Start Time (Similar to the first time launch, no resources are referenced in your memory)
- Warm Start Time (Your app has the references in memory, it will not recreate it)
Most of our apps in the playstore have not utilised the cold start time efficiently to show the splash pages. We can start our android applications the same way how Google(Youtube, Google Play Music, Google Play Movies) starts its apps.
WHAT IS COLD START TIME:
Time taken to show the splash page from the moment user taps on the launcher icon in home screen.
HOW MUCH IS YOUR APP’S START TIME:
To measure the start time of your app you can use the android studio where in the logcat you can see
ActivityManager: Displayed com.edcontrol.edcontrols/.StartupTiming: +597ms
We will now use this cold start time to provide branding to your application. Now before we try to use the start time efficiently, we will see what are the advantages of it.
- Users won’t see any black/white screen when your app takes time to load its resources/DB creations.
- App looks much faster, right from the go.
- Also removes the extra overdraw(Makes impact on performance).
CHANGES TO MAKE:
In the styles.xml add a new style name say “launcher” with an item called windowBackground.
<style name="AppTheme.Launcher"> <item name="android:windowBackground">@layout/splash_activity</item> </style>
In the above code snippet the splash_activity refers to the xml file which contains your logo and its contents for branding.<layer-list xmlns:android=“http://schemas.android.com/apk/res/android” android:layout_width=“match_parent” android:layout_height=“match_parent” android:opacity=“opaque”>
Set a particular theme for your splash activity.
No need to set the content view for the splash activity.
By following these changes to your application you can avoid displaying black/white screens in your app and avoid extra overdraw.
Default Launch Launch after changes.