簡體   English   中英

為什么在棒棒糖之前的安卓設備上很難產生漣漪效應?

[英]Why creating ripple effect is difficult on pre lollipop android devices?

當我對低於棒棒糖的 OS 版本的 UI 應用漣漪效應時,首先,漣漪效應完成,然后其他 UI 進程開始。

因此,它使 UI 過程變慢:因為波紋動畫首先完成,然后再進行下一個 UI 過程。

根據我的理解......您問的是為什么漣漪效應在具有棒棒糖或更高版本的設備上是平滑的,而在具有較舊版本然后是棒棒糖的設備上工作不那么平滑?

如果是這樣,那么答案是,因為.... android 的整個 UI 在一個主線程中管理(棒棒糖之前的 PS)。 隨着應用程序布局更加復雜和豐富,UI 本身變得更加苛刻,需要更多時間進行測量、繪制和布局操作。

Android Lollipop 中引入的渲染線程通過分解兩個渲染進程來幫助解決這些情況。 簡而言之,我們有在 UI 工具包線程中創建的原子動畫列表,然后我們將它們發送到單獨存在的渲染線程中。 感謝它會繼續執行這些原子動畫,即使 UI 工具包線程正在執行昂貴的操作(例如膨脹活動)。

實際上這就是漣漪的工作方式。 它們在渲染線程中執行,完全獨立於 UI Toolkit 線程,感謝即使新的活動窗口出現,它們也不會被中斷或停止。

這就是為什么在 21 年前的 Android 系統中沒有(簡單的)方法來實現漣漪效應的原因。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM