我正在为Android开发一款游戏,在玩游戏之前需要几秒钟的时间来加载所有内容 . 在此期间或启动画面中,我想显示一个进度条,以显示用户正在完成的工作 . 然后杀死启动活动并启动我的主要活动 . 我有一个使用进度条调用异步函数的启动画面,该函数仅使用睡眠功能作为进度条显示信息的占位符 . 然后在完成主要活动后需要几秒钟 . The question is how do I load the activity and show the progress of it with the horizontal progress bar in the splash activity? 我试图完全理解活动的生命周期 . 我知道 onCreate()
方法会创建活动,然后一旦完成,就会自动调用 onStart()
. 但如前所述我想加载活动然后手动启动它 .
3 回答
如果您通过xml文件设置视图,则相对简单 . 在调用
setContentView(R.layout.YOUR_XML_FILE);
Postpone调用此函数或使用简单的无限加载小部件在另一个xml文件上调用它之后,视图不会膨胀,然后在准备好时调用真实xml文件上的setContentView()
.你不能预装
Activity
本身 .相反,您应该尝试在启动画面中加载
Activity
所需的数据 . 加载后,将其交给主Activity
.您可以将磁盘/闪存中的映像加载到内存中,准备内部数据结构等 .
但是,您无法创建布局或初始化真正的主
Activity
.你无法预加载
Activity
. 启动Activity
,显示启动画面/进度条,并将数据加载到主线程之外的另一个线程上 . 数据加载完成后,使用ViewFlipper
切换视图 . 我没有看到多个Activity
的原因 .