简体   繁体   中英

Splash screen while loading resources in android app

I'd like to have a splash screen while loading resources (images and sounds). How do I know everything is loaded? Are all resources loaded at app startup?

Thanks

For accordingly implementing a splash screen in Android you want to:

  1. Show a foreground screen with some progress indication for the user.
  2. Execute a background thread for doing tasks that take some indefinitive time.
  3. Both threads communicating between them, as you need the foreground to show the progress on the background.
  4. Correctly kill the background thread when it finishes doing it's task. If you are planning to use AsyncTask in Android you have an issue there. ( Link )

I've found this tutorial and I strongly suggest it: http://www.41post.com/4588/programming/android-coding-a-loading-screen-part-1

Part 1 accomplish this basic task, part 2 shows you how to correctly kill the AsyncTask. And part 3 puts a customized view in the foreground instead of the ProgressActivity.

Here you go, wrote a tutorial on how to create a SplashScreen with a progress bar:
http://blog.blundellapps.com/tut-splashscreen-with-progress-bar/

Basically, instead of your thread it starts an ASyncTask, you pass a reference to your progressSpinner into the ASyncTask and this will update it as the thread is downloading resources (or whatever you want to do).

在此输入图像描述

You could do all your loading in an asyncTask then your onPostExecute remove the splash screen. This would help ensure that you don't block the UI thread while doing any expensive tasks that could cause an ANR popup.

Here is a complete tutorial on how to get it done. I've used this one myself with great results.

http://www.barebonescoder.com/2010/04/a-simple-android-splash-screen/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM