我的应用程序需要很多时间加载在开始,屏幕是空白的同时。有没有办法在应用程序启动时显示图像,然后在加载完成后显示布局?
最佳答案
如果应用程序中有多个活动,则方法会有所不同,但如果只讨论单个活动,则在调用onresume()之前,活动本身不会显示任何内容。在此之前,将显示的唯一内容是应用程序/活动的背景图像。为活动设置背景图像可以大大提高感知的启动速度,因为它们将立即显示。Romain Guy在这里讨论了一些背景图像:http://www.curious-creature.org/2009/03/04/speed-up-your-android-ui/。
如果你的应用程序有很多启动操作要做,那么你应该在一个单独的线程上完成,让oncreate()、onstart()、onresume()快速进行。这些方法应尽可能少地执行操作,以便用户尽快看到活动。如果希望加载或启动屏幕在加载不同方法时可见。为了简单的开始,假设你只想有一个加载屏幕,没有动画,只是一个图像。一种方法是通过XML将活动背景图像设置为加载屏幕图像。在oncreate()中,使用加载进程启动一个线程,这样它就不必等待线程完成才能继续启动活动。在XML布局中,将布局的根视图组设置为“消失”。这样您的视图就不会出现,它只会显示背景加载图像。它还将允许这些视图膨胀和设置。
然后,在处理完成后,将viewgroup的可见性设置为visible,以便让用户看到它,如果需要,也可以更改背景图像。
如果您不想使用启动屏幕路径,仍然要确保启动方法中没有长时间运行的方法,请将这些方法放到另一个线程上。您可以立即显示您的活动,如果需要的话,只需设置一个加载动画。
显然有很多方法,这都取决于你真正需要什么。希望这能有所帮助。
关于android - android启动图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4394250/