[發明專利]一種優化Android幀動畫的實現方法有效
| 申請號: | 201911013575.6 | 申請日: | 2019-10-23 |
| 公開(公告)號: | CN110727520B | 公開(公告)日: | 2022-05-03 |
| 發明(設計)人: | 李金國 | 申請(專利權)人: | 四川長虹電器股份有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/451 |
| 代理公司: | 四川省成都市天策商標專利事務所(有限合伙) 51213 | 代理人: | 郭會 |
| 地址: | 621000 四*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 優化 android 動畫 實現 方法 | ||
本發明公開了一種優化Android幀動畫的實現方法,包括:建立緩存池來用作序列幀的緩存,建立線程池用于在發起新的解碼請求后,已有線程均被占用時則在線程池中開啟新線程立即進行解碼,建立回收池用于實現對序列幀回收復用。本發明的方法可以在Android設備上,進行任意幀數的幀動畫實現,并且均不會發生內存溢出問題,對于大部分設備,cpu性能也能夠支撐,幾乎不會丟幀,極大提升幀動畫在Android中的實用性。
技術領域
本發明涉及優化Android幀動畫技術領域,特別涉及一種優化Android幀動畫的實現方法。
背景技術
在Android開發中,為給用戶呈現更好的視覺效果,動畫開發是非常重要且必要的。Android幀動畫作為Android動畫中一個重要的模塊,能夠完成諸多效果復雜的動畫,經常被開發所使用。但目前Android幀動畫官方提供的實現方式是將幀動畫的序列幀解碼出來,在使用的時候去取對應的序列幀呈現給用戶,在資源過大,幀數過多的情況下效果非常不好,對于內存與初始化時間都有較大開銷。
具體為,目前,Android設備的幀動畫實現,是將一組幀動畫的序列幀資源在動畫初始化的時候解碼加載,然后開始幀動畫,每隔固定時間去取對應的序列幀進行展示,實現動畫效果的更新,經過分析發現,在目前的幀動畫流程中,有四處待解決的問題,分別是:
1.在幀動畫開始前一次性初始化所需要的序列幀,導致在處理資源大幀數多的幀動畫時,初始化時間很長,并且占用內存比例很高,導致在一些情況不得不放棄幀動畫。
2.在幀動畫過程中進行序列幀的解碼,如何保證序列幀的解碼時間不會干擾正常的UI渲染,導致卡頓問題。
3.在幀動畫過程中進行序列幀的解碼,如何保證解碼速度能夠跟上幀動畫刷新速度,并最低限度使用cpu,而不會出現丟幀的情況。
4.在幀動畫過程中進行序列幀的解碼,隨著序列幀的增加,如何避免內存抖動與降低cpu占用。
發明內容
本發明的目的是克服上述背景技術中不足,提供一種優化Android幀動畫的實現方法,首先可解決在幀動畫資源大、幀數多的時候,如何通過動態調整降低幀動畫的內存的問題;其次可解決在動畫過程中解碼引起的卡頓問題,最后可實現動態解碼的時候,保證解碼速度能夠跟上幀率,降低或避免出現丟幀的情況,同時,對于實時解碼的序列幀與需要回收的序列幀進行內存管理,解決了Android創建對象與銷毀對象帶來的額外cpu開支與內存占用問題。
為了達到上述的技術效果,本發明采取以下技術方案:
一種優化Android幀動畫的實現方法,包括:建立緩存池來用作序列幀的緩存,建立線程池用于在發起新的解碼請求后,已有線程均被占用時則在線程池中開啟新線程立即進行解碼,建立回收池用于對序列幀進行回收復用;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于四川長虹電器股份有限公司,未經四川長虹電器股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911013575.6/2.html,轉載請聲明來源鉆瓜專利網。





