【问题标题】:Improving Android layout inflating speed提高 Android 布局膨胀速度
【发布时间】:2012-07-20 23:24:52
【问题描述】:

我有一个 Android 游戏,其中包含一个屏幕,其中列出了所有正在进行的游戏、简短描述、对手名称和个人资料图片等。与 Zynga 的 With Friends 游戏非常相似。但是,当您有数十个正在进行的游戏都必须列出时,我总是在渲染游戏列表时遇到巨大的性能问题。

由于加载时间可能超过 5 秒,我认为是时候进行一些分析并找出瓶颈了。事实证明,大约 70% 的时间用于膨胀和初始化布局元素(这些元素已被最小化为尽可能平坦和轻巧),所以即使我可以优化其余代码以立即发生,加载从用户体验的角度来看,时间仍然是不可接受的。

由于额外的 UI 元素(例如按钮等)与游戏不遵循相同的模板,因此简单的 ListView 将无法工作。在 iOS 上,类似的结构几乎可以立即呈现,即使在 3GS 上也是如此,所以我希望类似动力的 Android 设备至少具有类似的速度。我有哪些选择可以减少用于布局膨胀和初始化的时间?

(不知道长什么样子的朋友们截图供参考)

【问题讨论】:

标签: java android optimization


【解决方案1】:

您应该查看this conference 关于ListView。它教如何以一种好的方式实现它,尽可能减少分配。您可能感兴趣的内容从第 9 分钟开始。

  • 第一个话题是使用getView函数提供的convetView
  • 第二种是使用ViewHolder提高访问速度

另外,您应该尝试管理图像加载,以确保该部分不会在一段时间内阻塞渲染。

有一个很好的工具可以分析您的应用程序,以了解您的代码中有哪些滞后功能:look at that here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多