導航:首頁 > 操作系統 > androidpersist

androidpersist

發布時間:2023-07-05 12:59:46

① 深入理解android:SystemServer進程的作用

看了一段時間關於SystemServer進程的博客,有點小理解,寫一篇關於SystemServer的小筆記,然後走一遍過程。

ZygoteInit通過startSystemServer方法fork了一個SS進程。這個進程有啥作用呢。

handlerSystemServerProcess()方法只要是以下三個方法:

其中 applicationInit() 很有意思很重要。該方法中有一個,invokeStaticMain方法通過反射調用main方法:

run方法最終通過反射調用SystemServer的main方法,作用是:
通過以上分析其實main方法的主要作用是:
1、調整系統時間
2、設置屬性persist.sys.dalvik.vm.lib.2的值為當前虛擬機的運行庫路徑
3、裝載libandroid_servers.so庫,初始化native層service
4、初始化系統Context
5、創建SystemServiceManager對象
6、調用startBootstrapServices(),startCoreServices(),startOtherServices()啟動所有的java服務

另外也可以看到為什麼說handler默認是主線程,以及android 應用本身就是基於handler/Looper/Message的
startBootstrapServices():啟動java層的各種服務。framwork層的服務。例如AMS

startCoreServices:啟動核心服務:

startOtherServices也與上面一樣啟動各種服務。

總結下:SystemServer進程最終會執行到SystemServer類中的main方法中,初始化各種伺服器,其中第一個初始化的就是ActivityManagerService。當我們點擊啟動app的時候。Zygote會對這個消息進行處理,最終執行到applicationInit。那麼是在哪裡調用方法啟動應用的呢?

② androidpersist保存文件

persist分區。androidpersist保存文件通常在恢復出廠設置以後都是在persist分區。安卓(Android)是一種基於Linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。

③ 如何修改android系統默認時區

android平台,經常會遇到產品需要更改系統默認時區日期時間的問題。android更改時區相對比較容易實現,網上也有很多資料,直接設置一個屬性即可,例如設置上海東八區,persist.sys.timezone=Asia/Shanghai。但是如何實現更改默認系統時間呢?
在android中,Linux內核中、rtc時鍾,默認的起始日期都是1970年1月1日,那麼如何把默認日期指到2012-01-01呢?筆者在實踐中發現,在RTC驅動中可以很容易實現。在RTC驅動載入的時候,一般都有個probe函數需要先執行,因此在probe函數里下手最直接有效。RTC從1970-01-01開始,那當然很容易把默認值設置到2012-01-01,所需要設置的seconds也就是從1970-01-01所差的秒數,以秒為單位。因此,一旦讀出來的RTC值小於我們預想的值比如2012-01-01(1325402913)小,我們就把它設置到這個時間點。

seconds = rtc_read_time();
printk("init PMU/RTC time to %ld \n", seconds);

if(seconds <= 1325402913) {
seconds = 1325402913;/*2012-01-01*/
ret = rtc_set_time(seconds);
RTC_DBG("Init Set time: %ld, ret =0x%x\n", seconds, ret);
}
筆者通過結果顯示,在android平台上是可行的。要設置到哪天幾點幾分,只要算好具體1970-01-01 00:00差的秒數即可,簡單明了。這樣客戶、用戶使用起來更方便一些。

閱讀全文

與androidpersist相關的資料

熱點內容
為什麼伺服器要關掉icmp協議 瀏覽:851
源碼編輯器如何設置難度 瀏覽:351
給pdf加目錄 瀏覽:472
加密軟體怎麼改安全問題 瀏覽:548
cmd命令ip 瀏覽:946
python輸出單引號雙引號 瀏覽:272
腳本編程管理命令 瀏覽:379
小愛音箱pro怎麼自己裝app 瀏覽:118
建立ftp文件夾命令 瀏覽:570
sha1withrsa演算法 瀏覽:453
域名交易系統源碼php 瀏覽:171
求解微分方程數值解的命令有哪些 瀏覽:626
程序員轉時尚傳媒 瀏覽:82
古拳譜pdf 瀏覽:42
一元二次方程無實數根的演算法 瀏覽:352
程序員測試輕松嗎 瀏覽:172
英雄聯盟神魔怎麼綁定伺服器 瀏覽:984
音樂app怎麼換音質 瀏覽:976
python進階客戶流失 瀏覽:282
華為榮耀10伺服器地址 瀏覽:1000