Android 開關機動畫規范



極力推薦文章:歡迎收藏
Android 干貨分享

本篇文章主要介紹 Android 開發中的部分知識點,通過閱讀本篇文章,您將收獲以下內容:

一、開機動畫壓縮格式必須為存儲方式
二、開機動畫壓縮包不能包含bootanimation文件夾
三、開機動畫圖片 size 以及格式需要完全統一
四、開機動畫幀率,播放速度配置方案

一、開機動畫壓縮格式必須為存儲方式

開機動畫壓縮包必須以 存儲方式 進行壓縮,否則無法播放開機動畫。

壓縮方式 一定要選擇存儲方式

二、開機動畫壓縮包不能包含bootanimation文件夾

開機動畫壓縮包不能包含bootanimation文件夾,必現是如下格式。

開機動畫壓縮包不能包含bootanimation文件夾

三、開機動畫圖片 size 以及格式需要完全統一

開機動畫圖片需要統一格式size,不然因為大小不統一,播放出來很丑。

開機動畫圖片 size 以及格式需要完全統一

四、開機動畫幀率,播放速度配置方案

desc.txt文件用來定義開機動畫的播放配置。
1280* 720 的圖片舉例如下:

//參數: 寬:720 ;高:1280 ;幀率 :10
720 1280 10
// 參數:Google 默認: p;循環次數:1;圖像渲染后delay時間:0 文件路徑:folder1
p 1 0 folder1
p 0 0 folder2

開機動畫參數代表

1.第一行的參數前兩位7201280分別表示要顯示動畫的 width height.
2.第一行的第三個參數10是定義動畫播放的預訂幀率(FPS).

這個幀率FPS是指:每秒動畫播放的幀數。

此幀數是一個理想值,並不一定代表動畫實際幀率,假設預訂幀率為FPS_I,預訂每一幀解析的時間t_I,  則t_I=1/FPS_I

實際幀率的規則是:

假設某一幀從解析到渲染耗時為t_r,當t_r<=t_l,則渲染完這一幀后,動畫這個threadsleep(t_l-t_r)的時間,也就說這一幀最后的耗時就t_l

假設某一幀從解析到渲染耗時為t_r,當t_r>t_l,則渲染完這一幀后,動畫這個thread會馬上開始下一幀,也就說這一幀最后的耗時就t_r

所以,desc.txt內設置的這個幀率並不能代表動畫的實際幀率,實際的幀率是和系統開機的performance有關,因此不是說在desc.txt設置幀率越大越好,反而容易出現當某一幀耗時較長,就容易給用戶某一幀卡頓的體驗,目前這個FPS的值一般設置在13左右。

當然,設置FPS13並不是說系統的performance比較低,本身在開機動畫階段,系統進入Bootup Android階段,許多進程需要啟動,系統的主要工作應該集中與開機啟動的進程,因此不建議動畫的圖片過於復雜,導致系統開機的Performance變差。

3.第二行和第三行,設置順序播放和無限循環播放

第一個參數p是google default的設計,請保留以p開頭。

第二個參數1表示這一行對應folder所需要循環播放的次數,如果是0則表示是無限循環播放,直到系統ready后通過被動退出。

第三個參數0表示這一行對應folder里面的每一幀圖片依次解析渲染完成后,要進入下一個循環,動畫這個線程需要pause多久

第四個參數folder1 表示對應設置規則的folderpath

默認的設計,都是將順序播放的動畫放在一個folder,定義這個folder所需要循環的次數;在無限循環的folder內放置一張圖片,保證動畫沒有收到退出指令的時候,動畫可以一直顯示.

由於循環播放的folder中的每幀都是以紋理對象存儲在紋理內存中再uploadGPU做渲染的,以便下次循環播放不需要重新解析.如果動畫包中的圖片太多或者圖片的size很大時,則會導致占用較多的memory,因此為保證開機的performance,開機動畫不建議太復雜.

至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!

微信關注公眾號:  程序員Android,領福利


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM