我有一个非常复杂的 android 应用程序。已经尽可能扁平化视图层次结构,但我仍然在应用程序中存在滞后。例如,有一个菜单,其中的条目通过设置高度来折叠/展开ValueAnimator
。通常,动画第一次运行时会有一点延迟,而在第一次运行后则平滑。
我注意到,当我在 Menu-Item 上调用“requestLayout()”时,Android 似乎在整个层次结构中进行了布局传递和多个测量传递。
- 因为我知道虽然 Menu-Item(View) 改变了高度,但 Menu(View) 本身没有,有没有办法告诉应用程序?
- 我能否以某种方式执行似乎滞后于自己的第一次通过,以便它发生在应用程序启动之后而不是在第一次触摸输入时?
这是我正在做的动画的草图: