2014-02-25 92 views
0

我正在开发一款android游戏,需要几秒钟的时间才能加载所有内容。在这段时间或启动画面中,我想显示一个进度条来显示用户正在完成的工作。然后杀掉飞溅活动并启动我的主要活动。我有一个使用进度条调用异步函数的启动画面,该函数只与睡眠函数一起作为进度条显示信息的占位符。然后它完成后需要几秒钟才能开始主要活动。 问题是如何加载活动并使用splash活动中的水平进度条显示它的进度?我试图完全理解活动的生命周期。我了解onCreate()方法创建活动,然后一旦完成,然后自动呼叫onStart()。但如前所述,我只想加载活动,然后手动启动它。在显示前预载活动?

回答

1

您无法预加载Activity本身。

相反,您应该尝试在启动屏幕中加载该Activity所需的数据。 加载时,将它交给主要的Activity
您可以将磁盘/闪存中的图像加载到内存中,准备内部数据结构等。
但是,您无法创建布局或初始化实际主体Activity

+0

好吧,谢谢,我将如何去加载图像和字符串?这主要是什么让我失望。可能还有Google广告。 – ChonBonStudios

+0

将字符串和图像加载到某种“内存数据结构”(如“Bitmap”和“String”对象)中。 – flx

0

您不能预载Activity。启动Activity,显示启动画面/进度条,并将数据加载到主线程以外的另一个线程上。数据加载完成后,用ViewFlipper切换视图。我没有看到多个Activity的理由。

0

如果您通过xml文件设置视图,这是相对简单的。在调用setContentView(R.layout.YOUR_XML_FILE);之前,视图不会膨胀直到调用此函数,或者使用一个简单的无限加载小部件在另一个xml文件上调用它,然后在准备就绪时调用实际xml文件中的setContentView()

相关问题