【问题标题】:Why creating ripple effect is difficult on pre lollipop android devices?为什么在棒棒糖之前的 android 设备上很难创建涟漪效应?
【发布时间】:2016-02-25 15:28:17
【问题描述】:

当我对操作系统版本低于棒棒糖的 UI 应用波纹效果时, 此时首先涟漪效果完成,然后启动其他UI流程。

因此,它使 UI 流程变慢:因为波纹动画首先完成,然后执行下一个 UI 流程。

【问题讨论】:

  • 你的问题是什么?
  • 你应该阅读官方文档...这不是一个真正的问题。

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


【解决方案1】:

根据我的理解...您问的是为什么在具有棒棒糖或更高版本的设备上涟漪效果很流畅,而在具有旧版本然后棒棒糖的设备上却不那么流畅?

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

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

实际上这就是涟漪的工作原理。它们在渲染线程中执行,完全独立于 UI Toolkit 线程,这要感谢它们不会被中断或停止,即使新的活动窗口即将出现。

这就是为什么在 21 年前的 Android 系统中没有(简单的)方法来实现涟漪效应的原因。

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

【讨论】:

    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 2016-02-04
    • 2015-04-17
    • 2016-02-11
    • 2023-03-21
    • 2015-09-24
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多