Android 常用概念理解

  在看Android代碼運行機制時,經常會遇到一些不太理解的詞,在此把我遇到的一些詞以及理解整理下:

1、Android系統,整體來講它是屬於消息驅動型類型,簡單說就是系統中應用的各個組件都是靠消息來交互,系統中會有一個主線程會循環執行Looper中的消息隊列。

2、編譯時:只有編譯成功後才能生成可執行代碼,簡單理解就是語法要符合Android系統的要求,如數學中的運算法則。

3、運行時:簡單理解就是當代碼執行到那行代碼時,(如Android系統中findViewById,只要存在相應id就不會報錯,因爲它是再運行時纔會檢查Id是否存在)。Android中運行時檢查,運行時綁定都是這個意思。

4、Android 組件與進程:Android的組件雖然在進程中運行,但是進程被殺死,組件依然可以存活,這就是有時候在用360安全衛士查看應用時會出現0進程運行,1服務正在運行的怪象。由於Android爲了提高應用的響應速度,Android組件可以獨立與進程存在(它有一些列Manageer類來控制)。

5、Android系統基於Linux2.6,但不屬於Linux系統的分支,所以它是開發的不是開源的。

6、編譯時會將xml文件編譯成2進制格式,生成資源符號爲後面生成R.java文件,每個id都是4位16進制的數,高字節位代表包名,次高字節代表所屬類型(String,int,View等等),後兩位代表具體id。

7、Android CPU 特性:VFP特性與Neon特性,主要在看SO動態庫相關文章的時候會遇到類似的用法,不是特別明白,不用去弄的特別清楚它們到底如何實現的,只需要明白在相同架構下它們對結果是沒有影響的,只是會影響運算效率,比如上班去公司乘坐交通工具(地鐵與公交)只是用的時間不同而已,結果都一樣。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章