在 android.View 上调用 getWidth() 和 getHeight() 很昂贵吗?

is calling getWidth() and getHeight() on android.View expensive?

我有一个在 android.View Canvas 上绘制位图和图元的应用程序。我在视图 and/or 上调用操作 getWidth()getHeight() 每帧 Canvas 几十次,视图大小有时会改变。

哪些因素会使这些操作变得昂贵?

请避免回答"did you profile it?"等

实际上,View 的 getWidth() 和 getHeight() 方法只是 returns 来自 class 的私有成员值,因此,它不会执行任何 主要操作 在内部,您可以安全地使用这些方法..

 public final int getWidth() {
        return mRight - mLeft;
 }

 public final int getHeight() {
        return mBottom - mTop;
 }

有关此 class 内部可能发生的事情的更多详细信息。请从此处参考。

View Class Reference