1

我製作了一個應用程序,它可以觸發不同的小動畫,例如下降的旋轉星形或類似文字從下到上浮動的動畫,在Android:對於畫布動畫,最好有1個大線程或者多個小線程

他們都是恆定的,一旦開了surfaceview帆布, 所以我計劃在這2種方式,1是一個很大的主題,其 處理他們所有的動畫,互相動畫完成後,更新各1後1

或對於諸如流星等各種動畫有自己的線程設置,並且在每個給定點,主要活動可以有一個命令在其中一個線程上進行,cr吃他,開始,而不是忘記他,讓他在後臺運行,並在動畫結束時,線程將自行結束。

所以我不必擔心存儲每個被解僱的線程等,因爲我不知道有多少人可以在給定的時間開始。

因此,如何激發隨機小短線程或使用一個大線程來處理所有這些問題,會更有效率嗎?它會更順利和更好地工作嗎?

動畫只是視覺上的附魔,沒有其他任何東西,它也不與其他動畫交互,它只是簡單地開始,循環,結束。

我希望你明白:\

回答

2

您可能想要一個SurfaceView,其中一個線程處理所有繪圖。每個動畫有一個線程似乎過於複雜。對於每個動畫類型,您當然可以有一個方法renderStars(),renderText()等等,只要你的一個動畫線程呈現就會被調用。

推薦閱讀:

0

在動畫過程中,你將不得不更新UI Thread您的UI,你不能使用不同的線程運行的動畫。但是,對於密集型動畫,您必須使用Gaming Engine或編寫自己的Game Thread,它將首先根據動畫公式更新對象的數據,然後在UI thread上繪製它們。

+0

所以你基本上說的是,我不能有幾個線程做這樣的任務嗎?我需要1個線程,在這種情況下,一個「UI線程」,它將處理所有的動畫? –

+0

另外,它在什麼時候完全變成了密集的動畫? –

+0

@DanielMendel這是不正確的。必須在UI線程上調用所有View方法,但是您可以並且可能應該在第二個線程上設置動畫效果。 SurfaceView是專門爲此設計的,並具有使同步變得簡單的方法。 –