随着我的应用程序(游戏)变得越来越大,我开始遇到问题。
我有一个带有“开始游戏”按钮的菜单活动 - 当用户按下此按钮时,它启动主要游戏活动 - 现在在此活动中,我在构造函数中创建位图等但是有很多现在当活动开始时,在游戏实际开始之前会有一点延迟 - 大约2秒钟。
我显然做错了 - 请有人建议如何解决这个问题,以免用户注意到延迟(显然必须发生) -
答案 0 :(得分:3)
立即加载您需要的那些。将其余部分加载到后台线程(可能是AsyncTask)。如果您在加载之前需要一个,可以根据需要暂停或设置加载屏幕。
答案 1 :(得分:1)
您可以开始在菜单活动的背景中加载位图,甚至在使用background thread or AsyncTask
创建应用时也是如此。如果用户在完成加载所有位图之前导航到主游戏活动,您仍然需要某种加载屏幕。
答案 2 :(得分:0)
您也可以启动IntentService来加载位图。加载位图时,IntentService可以使用LocalBroadcastManager发送广播。然后,每个关心结果的组件都可以使用LocalBroadcastManager注册BroadcastReceiver。