【问题标题】:Which instruction executes faster哪条指令执行得更快
【发布时间】:2017-06-14 22:35:20
【问题描述】:

我想在 android 上多次执行以下 java 指令之一,所以我想知道哪种方法对性能更好 切换

View.setBackgroundColor(Color.Black);

View.setBackgroundColor(Color.White);

或之间

View.setVisibility(View.Invisible);

View.setVisivility(View.Visible);

我只关心这项任务的性能

【问题讨论】:

  • 感谢您的链接
  • 您是否尝试过对替代品进行基准测试?
  • 请记住,如果您执行这样的基准测试,android 不会立即重新布局和重绘。因此,对View.setVisivility(View.Visible) 的执行时间进行基准测试不会给您任何具体的结果。您必须对应用更改之前的时间进行基准测试,直到绘制应用更改的下一帧为止。我认为性能差异根本不相关。最好把你的开发时间花在别的事情上。此外,颜色“解决方案”似乎对用户不友好(即您可能还必须删除点击侦听器等)
  • 如何知道帧何时渲染?

标签: java android performance android-layout


【解决方案1】:

之前有一个非常相似的问题...不过,我认为您应该询问有关 View.GONE 的问题。或者完全从内容中删除视图

显然,设置颜色或可见性不会影响您所看到的以外的任何内容。这两种选择都没有性能提升。

您获得的真正性能是不会导致布局被完全重绘

【讨论】:

  • 如果视图消失了,那么另一个视图可能会取而代之,我想避免我只想影响我看到的内容
  • 仅当您使用相对位置时
  • 是的,有时会这样做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 1970-01-01
  • 2016-02-02
  • 2017-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多