我正在为Android开发游戏,在玩游戏之前需要几秒钟的时间来加载所有东西。在此期间或启动画面中,我想显示一个进度条,以显示用户正在完成的工作。然后杀死启动活动并启动我的主要活动。我有一个使用进度条调用异步函数的启动画面,该函数仅使用睡眠功能作为进度条显示信息的占位符。然后在完成主要活动后需要几秒钟。 问题是如何加载活动并使用启动活动中的水平进度条显示活动的进度?我试图完全理解活动生命周期。我了解onCreate()
方法会创建活动,然后一旦完成,就会自动调用onStart()
。但如前所述,我只想加载活动,然后手动启动它。
答案 0 :(得分:1)
您无法预加载Activity
本身。
相反,您应该尝试在启动画面中加载Activity
所需的数据。
加载后,将其交给主Activity
您可以将磁盘/闪存中的映像加载到内存中,准备内部数据结构等
但是,您无法创建布局或初始化真正的主Activity
。
答案 1 :(得分:0)
您无法预加载Activity
。启动Activity
,显示启动画面/进度条,然后在主线程之外的另一个线程上加载数据。数据加载完成后,使用ViewFlipper
切换视图。我没有看到多个Activity
的原因。
答案 2 :(得分:0)
如果您通过xml文件设置视图,则相对简单。在您调用setContentView(R.layout.YOUR_XML_FILE);
推迟调用此函数或使用简单的无限加载小部件在另一个xml文件上调用它之后,视图不会膨胀,然后在准备就绪时调用真实xml文件上的setContentView()
。