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