本文將用通俗的語言從底層介紹Android卡頓的歷史原因和谷歌與之斗爭的過程。
閱讀完這篇文章后你將:
理解計算機是如何解讀我們所寫的程序并執(zhí)行相應功能的
了解Android虛擬機的進化史
從底層了解造成Android卡頓的三大原因
1
基礎概念
首先我們需要補習下一些基礎概念,來理解計算機是如何解讀我們所寫的程序并執(zhí)行相應功能的。
1.編譯&解釋
某些編程語言(如Java)的源代碼通過編譯-解釋的流程可被計算機讀懂
先上一段Java代碼
publicstaticvoidmain(String[] args){
print( ‘Hello World’)
}
這是所有程序員的第一課,只需要寫完這段代碼并執(zhí)行,電腦或手機就會打印出Hello World。
那么問題來了,英文是人類世界的語言,計算機(CPU)是怎么理解英文的呢?
眾所周知,0和1是計算機世界的語言,可以說計算機只認識0和1。那么我們只需要把上面那段英文代碼只通過0和1表達給計算機,就可以讓計算機讀懂并執(zhí)行。
結合上圖,Java源代碼通過編譯變成字節(jié)碼,然后字節(jié)碼按照模版中的規(guī)則解釋為機器碼。
2.機器碼&字節(jié)碼
機器碼
機器碼就是能被CPU直接解讀并執(zhí)行的語言。
但是如果使用上圖中生成的機器碼跑在另外一臺計算機中,很可能就會運行失敗。
這是因為不同的計算機,能夠解讀的機器碼可能不同。通俗而言就是能在A電腦上運行的機器碼,放到B電腦上就可能就不好使了。
舉個
-
Android
+關注
關注
12文章
3917瀏覽量
127036 -
Android手機
+關注
關注
0文章
23瀏覽量
10311
發(fā)布評論請先 登錄
相關推薦
評論