【问题标题】:How to compare the efficiency of different layouts?如何比较不同布局的效率?
【发布时间】:2012-03-30 09:05:51
【问题描述】:

目前,我的一项活动遇到了性能问题。

在这个活动中,我膨胀了很多。 所以除了优化代码我还想优化布局。

基本思想很明确(避免嵌套、扁平的 hiracie、有用的 viewStub、合并基本框架,...)。但在某些时候你仍然需要选择(比如我是使用相对布局还是线性布局、表格布局甚至是网格布局)。

以下是我的问题所在: 我如何比较不同方式的效率(给我一个相似的布局)?

我已经在做的是使用Hierarchy View 检查布局,这让我大致了解了布局的哪些部分是昂贵的,哪些不是。

但是:
它没有给我一个准确的比较不同的方式来做一件事。一个相同的布局膨胀可以在 1ms 到 20ms 之间变化,即使它只是在不同的时间是相同的布局。

所以我的问题是:无论外部环境如何,我如何比较不同的方式来实现布局的效率?

【问题讨论】:

  • 在我看来,嘿,你对很多观点都很有兴趣:)。回答这个问题相当困难。您可以进行测试,但它们会有所不同,因此您必须在多台设备上进行统计测试(许多测试),在开始之前您将浪费生命。
  • 根据层次结构查看器大约有 350 个视图。但是根据您的评论,在一个设备上(通常)有效的布局不应该在其他设备上也有效吗?
  • 是的,它应该,但你永远无法确定使用 android,但你仍然需要多次测试不同的布局方法并进行一些统计以找到最有效的方法。

标签: android performance android-layout


【解决方案1】:

尝试使用layoutopt 工具进行布局优化。

如果视图布局优化得足够好,那么在运行时创建更多具有相同布局的视图应该得到优化。

【讨论】:

    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    相关资源
    最近更新 更多