Splash screen while loading resources in android a

2019-03-09 04:33发布

问题:

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

回答1:

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.



回答2:

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.



回答3:

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).



回答4:

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/