編輯:安卓省電與加速
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然後啟動模擬器即可。
筆者做了對比,去掉上述幾個本地服務與沒有去掉本地服務,二者在開機時間上幾乎沒有減少多少,這也可以理解,因為本地服務就是幾個程序,少執行和多執行幾個程序對於總體開機時間沒有多大影響,不過,去掉沒有使用的本地服務,對整個系統性能來說,會有微不足道的提升。
如果去掉開機動畫服務可以大大的提高系統的啟動速度:
- 433 #service bootanim /system/bin/bootanimation
- 434 # class main
- 435 # user graphics
- 436 # group graphics
- 437 # disabled
- 438 # oneshot
迅雷是一款很不錯的資源下載工具。現在迅雷又推出了迅雷快鳥,據說可以讓你的網絡速度飛起來,那麼迅雷快鳥怎麼用呢?你一定很好奇對吧?坐等小編為你一一道來。迅雷快
安卓手機內存管理機制的問題導致了手機的配置也在不斷的攀升,小米手機目前的最新款配置也是相當不錯的,不過仍然會遇到這
OPPO Find7手機省電模式如何開啟?這省電模式對於用戶來說幫助還是很大的,那麼這開啟方式又是什麼呢?一起來看
基於CM7穩定版制作,增加新蜂獨有實用優化:安裝到SD卡,數字電量、一步到位連接電腦搞機,十萬用戶親測穩定可靠! 【刷機必看】: 1、中國聯通定制機 2、基於CM7穩定