为什么在pre lollipop android设备上创建涟漪效果很难?

时间:2015-11-23 13:38:31

标签: android android-5.0-lollipop android-version

当我将涟漪效应应用于操作系统版本低于棒棒糖的用户界面时, 首先,涟漪效应完成,然后开始其他UI过程。

因此,它使得UI流程变得更慢:首先完成涟漪动画,然后再进行下一个UI流程。

1 个答案:

答案 0 :(得分:1)

根据我的理解......你问为什么涟漪效应在有棒棒糖或更高版本的设备上是平滑的,而在具有旧版本然后棒棒糖的设备上工作不那么顺畅?

如果是这样,那么答案就是,因为....整个UI的android在一个主线程中管理(P.S.Lack Lollipop)。 随着更复杂和丰富的应用程序布局,UI本身变得更加苛刻,需要更多时间进行测量,绘制和布局操作。

Android Lollipop中引入的渲染线程通过分解两个渲染过程来帮助解决这些问题。 简而言之,我们有在UI工具包线程中创建的原子动画列表,然后我们将它们发送到单独存在的渲染线程中。 感谢它将继续执行这些原子动画,即使UI工具包线程正在执行昂贵的操作(例如,例如膨胀活动)。

实际上这就是涟漪的作用。它们在渲染线程中执行,完全独立于UI Toolkit线程,这要归功于它们即使新的活动窗口即将出现也无法中断或停止。

这就是为什么在21之前的Android系统中没有(简单)方法来实现连锁反应的原因。

参考:http://frogermcs.github.io/InstaMaterial-concept-part-3-feed-and-comments-buttons/