【问题标题】:Where to create bitmaps etc在哪里创建位图等
【发布时间】:2014-02-28 03:29:08
【问题描述】:

随着我的应用(游戏)越来越大,我开始遇到问题。

我有一个带有“开始游戏”按钮的菜单活动 - 当用户按下此按钮时,它会启动主游戏活动 - 现在在这个活动中,我正在构造函数中创建位图等,但有很多现在,当活动开始时,在游戏实际开始之前会有一点延迟 - 大约 2 秒。

我显然做错了什么 - 请有人建议如何解决这个问题,以便延迟(显然,必须发生) - 不会被用户注意到。

【问题讨论】:

  • 带有进度条或微调器的加载屏幕怎么样?
  • 这似乎是最简单的方法——我可以用这个方法——谢谢!

标签: android constructor bitmap delay


【解决方案1】:

立即加载您需要的内容。将其余部分加载到后台线程(可能是 AsyncTask)上。如果您在加载之前需要它,请暂停或根据需要放置加载屏幕。

【讨论】:

  • 感谢大家的 cmets / 回答 - 我正在使用 surfaceView 并为此使用单独的线程 - 你是否建议我需要创建另一个线程来加载资源?非常感谢!
【解决方案2】:

您可以在菜单活动的背景中开始加载位图,甚至可以在使用background thread or AsyncTask 创建应用时开始加载。您仍然需要某种加载屏幕,以防用户在您加载完所有位图之前导航到主游戏活动。

【讨论】:

  • 谢谢 - 我该怎么做?我的意思是我如何在一项活动中加载内容并仍然能够在另一项活动中使用它 - 谢谢!
  • 您可以从单例或从自定义应用程序类中的字段公开的类中引用它。有关每个选项的参数,请参见另一个问题:stackoverflow.com/questions/3826905/…
【解决方案3】:

您也可以启动 IntentService 来加载位图。加载位图后,IntentService 可以使用 LocalBroadcastManager 发送广播。然后每个关心结果的组件都可以向LocalBroadcastManager注册一个BroadcastReceiver。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    相关资源
    最近更新 更多