[發明專利]一種基于ARM平臺的Android啟動加速方法有效
| 申請號: | 201410170411.5 | 申請日: | 2014-04-25 |
| 公開(公告)號: | CN104102506B | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 劉發貴;繆漢威 | 申請(專利權)人: | 華南理工大學 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 廣州粵高專利商標代理有限公司44102 | 代理人: | 何淑珍 |
| 地址: | 511400 廣東省廣州市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 arm 平臺 android 啟動 加速 方法 | ||
技術領域
本發明屬于計算機操作系統技術領域,特別是提供一種針對ARM平臺的Android啟動加速的方法。
背景技術
Android開機啟動加速,近年來越來越受人們關注了。主要是由于Android設備的大量普及。而且相對于很少關機的手機,其他智能設備如:平板電腦等越來越普及,而且這些設備相對于手機來說是需要經常的開關機,所以其啟動速度直接影響到用戶體驗,也是判斷產品的優劣一個重要標準。
Android的開機啟動優化一直以來都是一個非常熱門的研究領域,而且現在業界對Android開機快速啟動的需求越來越緊迫。目前國內外有很多人對Android的開機啟動過程進行相關工作的研究。
一種是采用電源管理的技術,使用休眠或睡眠的方式對Android系統進行非真正意義上的關機,當用戶需要使用設備時再喚醒設備。這種“熱啟動”的方式還是會有一定程度的電源消耗,而且也不是真正意義上的關機,很難滿足用戶的需求。
還有一種方式是將Android啟動過程的Zygote預加載類和資源進行了裁剪,這種方式對Android啟動后的后續性能帶來不良的影響。因為打開應用程序的次數遠遠多于用戶開關機的次數。因為這些預加載類和資源都是Google工程師精心設計的,缺少了這些預加載的類和資源,后續的應用啟動速度需要重新加載這些類和資源,從而導致應用程序啟動速度變慢。
還有的是通過特殊的硬件支持實現的,類似休眠技術,不過這種加速方法可以實現“冷啟動”,通過從FLASH非易失性存儲介質中加載啟動時需要的核心數據,等啟動完成后再后續加載其他非核心數據完成啟動,雖然啟動速度有很大的提升,但是需要特殊硬件的支持,使用范圍受到了很大的限制。
在Android系統中,從目前來看這些優化方法有些存在方法使用范圍具有局限性,有些方法會帶來一些Android啟動后的后續性能問題,有些方法需要特殊的硬件支持等。這些是不能滿足Android啟動加速需求的。
發明內容
本發明的目的在于克服現有技術的不足,提供一種基于ARM平臺的Android啟動加速方法。
為了實現上述發明目標,采用的技術方案如下:
一種基于ARM平臺的Android啟動加速方法,包括如下步驟:
(1)修改Linux內核編譯選項,添加Enable loadable module support以支持動態模塊加載。編譯基于ARM平臺的Linux內核鏡像。修改Linux內核配置為基于ARM平臺,修改BLCR(Berkeley Lab Checkpoint/Restart)內核模塊文件以支持ARM平臺。然后交叉BLCR編譯動態內核模塊。
(2)修改Android的bionic的線程庫文件,添加BLCR動態鏈接庫模塊所需的線程庫API函數接口,修改Android的啟動腳本Init.rc,實現將BLCR的動態內核模塊在系統進入用戶空間后添加進去的功能,以供后續BLCR動態鏈接庫調用。
(3)編寫了Android平臺下調用BLCR內核模塊的動態鏈接庫編譯的Android.mk文件,并對BLCR動態鏈接庫模塊進行了修改以支持Android系統。將BLCR在X86平臺的API庫移植到ARM平臺。
(4)編寫了Android平臺下的JNI接口函數,調用BLCR底層動態鏈接庫。編寫了在ZygoteInit.java文件中通過JNI調用BLCR模塊,在耗時的預加載類及預加載資源過程之后設置斷點,將Zygote進程保存到鏡像文件中。下次啟動時通過恢復進程的鏡像文件,從斷點處往下執行程序,跳過了耗時的預加載類及預加載資源的過程,從而提高了Android的啟動速度。
(5)編寫Android啟動的Init.rc調用的腳本,判斷鏡像文件是否存在,如果存在則直接從鏡像文件啟動,如果不存在,則生成通過調用BLCR動態內核模塊生成Zygote進程的鏡像文件。
如步驟(1)所述將BLCR技術移植到ARM平臺,然后通過修改BLCR的內核模塊源碼,使其支持ARM平臺,然后通過交叉編譯鏈將其編譯成基于ARM平臺的動態加載模塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華南理工大學,未經華南理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410170411.5/2.html,轉載請聲明來源鉆瓜專利網。





