我有一个类似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线附近),但我无法实现。
谢谢!
答案 0 :(得分:2)
当文本发生变化时,TextView需要布局传递,你无法解决这个问题。
答案 1 :(得分:0)
我正在以1 fps(每个)更新2个TextViews,但仍然主线程使用了更多CPU然后我的GLSurfaceView ......
实际上,使用android:layout_width
或android:ems
设置固定宽度会停止布局请求。您可能还想使用setText(char[] text, int start, int len)
而不是setText(CharSequence)
来避免创建字符串。