我的应用程序出现奇怪的行为,我有一个BottomSheetBehavior
,并且当用户拖动底部工作表(或以编程方式将其设置为Expand
时)中的View
它与BottomSheetBehavior
slide
的数量成比例地逐渐变化。
因此,某些View
缩小,其他扩展,其他淡入和其他淡出(与slide
成比例的alpha变化)。
我有一个Button
,它触发了Bottom Sheet展开,并且第一次按下按钮时,Bottom Sheet中的View
s动画存在视觉滞后。 但是在再次折叠底部表格之后,在其他任何时候我触发一次exapand都没有视觉延迟。这仅在底部表格第一次扩展时发生。
即使我说的是“动画”,但这只是一个术语,我没有使用任何动画框架,View
和ViewGroup
s width
,{ {1}和height
在每次alpha
值更新时都在变化,从而使用户感到动画效果。
我试图剖析Bottom Sheet扩展,这就是我得到的:
第一个大峰值是第一个Bottom Sheet扩展。其他的则小得多,并且都是后续的扩展。
这是另一个例子:
没有在第一次运行时运行的代码,也没有在随后运行的代码,第一次运行没有什么特别的,并且“底表”中的slide
仅包含5个项目,这些项目在触发扩展之前已加载
我真的无法解释这种行为, Android框架是否在RecyclerView
首次被操纵后对其进行优化?使它们与GPU渲染更兼容?