【问题标题】:android activity "loaded event"android活动“加载事件”
【发布时间】:2011-01-30 13:18:48
【问题描述】:

我有一个 mapactivity,当我切换到它时,它需要一些时间才会出现,因为它会加载地图并动画到特定位置。

活动是否有某种完成的加载事件,我可以在那里进行地图初始化吗?

谢谢

【问题讨论】:

    标签: android loading android-mapview mapactivity


    【解决方案1】:

    如果我正确理解您的问题,这不是事件问题,而是正确编程问题。

    如果您的 Activity 需要很长时间来初始化,您应该在后台线程中进行初始化(Android 提供了易于使用的 AsyncTask)。初始化时,您应该向用户显示一些临时内容,例如启动屏幕、带有进度条的“正在加载...”消息,或者在您的情况下,可能是最后一个地图位置(您可能已经缓存了该位置)。

    尝试使 Activity 生命周期方法(onCreate、onResume 等)尽可能短且尽可能快,以使您的 Activity 加载更快,并保持您的 UI 响应。

    请参阅开发人员指南中的 Designing For Responsiveness 条目

    【讨论】:

    • 但是加载地图是一个 UI 操作,所以当我这样做时 UI 线程仍然很忙。我只是想在活动完成加载后执行此操作,以便将其显示在屏幕上,然后加载地图。
    • 加载地图不是 UI 操作。显示部分(或整个)加载的地图是 UI 操作。例如,可以从网络加载地图瓦片(后台操作),每次加载瓦片时,将其显示在屏幕上(UI操作)
    【解决方案2】:

    This 是一篇很好的博文,它与您可以针对加载时间执行的技巧相关,实际上它与 Google 地图应用程序在 G1 上使用的技巧完全相同。

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-04
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多