【发布时间】:2013-01-15 11:28:42
【问题描述】:
我有一个相当复杂的安卓应用程序。已经尽可能扁平化视图层次结构,但我仍然在应用程序中存在滞后。例如,有一个菜单,其中的条目通过ValueAnimator 设置其高度来折叠/展开。通常,动画第一次运行时会有一点延迟,而在第一次运行之后就很流畅了。
我注意到,当我在 Menu-Item 上调用“requestLayout()”时,Android 似乎在整个层次结构中执行布局传递和多个度量传递。
- 因为我知道虽然 Menu-Item(View) 改变了高度,但 Menu(View) 本身没有改变,有没有办法告诉应用程序?
- 我能否以某种方式执行这似乎滞后于自己的第一次传递,以便它发生在应用程序启动之后而不是在第一次触摸输入时?
这是我正在制作的动画的草图:
【问题讨论】:
-
我也有同样的问题。对我来说更烦人的是,我有一个带有自定义视图图标的复杂列表。当一个小文本窗口在其下方更新(每 1 个性别)时,将重绘所有列表。这会带来短暂的延迟。
-
@ArtursVancans 嘿,arturs,我也遇到了这个问题。如果您能分享一下如何摆脱这个问题,将非常感谢。
-
查看 React-Native 或 anko 之类的库。
标签: android performance layout