在ViewGroup中查找布局请求的原因

时间:2011-03-02 19:31:51

标签: android android-layout

我有一个类似Launcher的侧滚动自定义ViewGroup,在每个“页面”中包含RelativeLayout。在这个RelativeLayout中,我有一些其他视图,在调用onMeasure()时记录。 当我翻到另一页时,onMeasure会为每个视图调用六次。我已经删除了一些TextView,因为它们在文本更改时请求布局传递,但我找不到布局请求的其他原因。

有人知道在ViewGroup中找到布局请求原因的技巧吗?

在相关的说明中,是否有人知道一个技巧,以确保TextViews在文本更改时不会因布局请求而哭泣?源头中有一些暗示(http://codesearch.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/widget/TextView.java&q=package:android.git.kernel.org%20file:android/widget/TextView.java&sa=N&cd=1&ct=rc在5500线附近),但我无法实现。

谢谢!

2 个答案:

答案 0 :(得分:2)

当文本发生变化时,TextView需要布局传递,你无法解决这个问题。

答案 1 :(得分:0)

我正在以1 fps(每个)更新2个TextViews,但仍然主线程使用了更多CPU然后我的GLSurfaceView ......

实际上,使用android:layout_widthandroid:ems设置固定宽度会停止布局请求。您可能还想使用setText(char[] text, int start, int len)而不是setText(CharSequence)来避免创建字符串。