Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> 安卓省電與加速 >> [Android系統的移植與平台開發]為Android啟動加速

[Android系統的移植與平台開發]為Android啟動加速

編輯:安卓省電與加速

Android的啟動速度一直以來是他的诟病,雖然現在Android設備的硬件速度越來越快,但是隨著新版本的出現,其啟動速度一直都比較慢,當然,作為程序員,我們是可以理解的,智能手機本身就要啟動很多服務來支持應用的功能,並且Android系統大部分還是使用的Java語言編寫的,必然要運行在Java虛擬機裡,這也決定了它運行速度和啟動速度都相對較慢。同時,Android系統為了在執行用戶應用程序時提高用戶體驗,還做了一些預加載機制,這也犧牲了開機啟動時間。

根據Android啟動過程的分析可知,我們可以進行定制加速如下:

Ø  定制本地服務

Ø  定制Android系統服務

Ø  優化ZygoteInit的類預加載preloadClasses和資源預加載preloadResources機制

Ø  PackageManagerService掃描、檢查APK安裝包信息

下面我們依次來分析其實現步驟。

 

1. 定制本地服務

由第二章,第2節可知,本地服務都是由C或C++編寫,它們都執行在Linux空間,在init進程的啟動過程中啟動了很多本地服務,如果我們的設備中沒有電話模塊、藍牙模塊,我們可以將這些沒用的本地服務在init.rc裡注釋掉。

396 #service ril-daemon /system/bin/rild

397#     class main

398#     socket rild stream 660 root radio

399#     socket rild-debug stream 660 radio system

400#     user root

401#     group radio cache inet misc audio sdcard_rw log

 

435 service dbus /system/bin/dbus-daemon --system --nofork

436     class main

437 #    socket dbus stream 660 bluetooth bluetooth

438     user bluetooth

439     group bluetooth net_bt_admin

 

441 #service bluetoothd /system/bin/bluetoothd -n

442 #    class main

443 #    socket bluetooth stream 660 bluetooth bluetooth

444 #    socket dbus_bluetooth stream 660 bluetooth bluetooth

445     # init.rc does not yet support applying capabilities, so run as root and

446     # let bluetoothd drop uid to bluetooth with the right linux capabilities

447 #    group bluetooth net_bt_admin misc

448 #    disabled

 

重新編譯system.img然後啟動模擬器即可。

筆者做了對比,去掉上述幾個本地服務與沒有去掉本地服務,二者在開機時間上幾乎沒有減少多少,這也可以理解,因為本地服務就是幾個程序,少執行和多執行幾個程序對於總體開機時間沒有多大影響,不過,去掉沒有使用的本地服務,對整個系統性能來說,會有微不足道的提升。

如果去掉開機動畫服務可以大大的提高系統的啟動速度:

  1. 433 #service bootanim /system/bin/bootanimation  
  2. 434 #    class main  
  3. 435 #    user graphics  
  4. 436 #    group graphics  
  5. 437 #    disabled  
  6. 438 #    oneshot  
  7.  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved