<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 基本空間劃分 Google給了我們一張系統架構圖,在這張圖上我們可以看到Android的大體框架組成。 ![](https://box.kancloud.cn/2016-05-05_572b1a14570d0.gif) 從上圖可以看到:Android?Applications,Application?Framework,Dalvik?Virtual?Machine,Linux。如果將Android泛化,我們可以將系統劃分成兩部分: ![](https://box.kancloud.cn/2016-05-05_572b1a147ac8d.gif) 但是為了研究的方便我們先看最為本質的三層,上面是Android,中間叫Dalvik虛擬機,下面叫Linux。 ![](https://box.kancloud.cn/2016-05-05_572b1a148bb11.gif) 雖然上兩層都包含在Android中,但是為了理解的方便或者從實用主義出發,我還是將虛擬機這次給分開出來,因為我研究的對象是Android的手機系統相關部分,對于虛擬機我們不做太深入的研究。 e: pre;">從上面我們可以看到這個系統靜態的劃分成這樣的三層。但是從動態運行邏輯上不是這樣劃分的,所以空間的劃分是一個有趣的概念。我們從操作系統的角度看,Android就是一堆Linux應用的集合。從Linux角度看到的空間劃分:進程空間和內核空間。從Android的應用對應著Linux的一個個進程。 ![](https://box.kancloud.cn/2016-05-05_572b1a149d4f9.gif) Andoid中包含一個Java虛擬機,虛擬機是運行在Linux之上的,Android構建在JVM之上,從Android動態運行邏輯上我們需要將Android劃分成Android空間和非Android空間。在Andoid系統中我們面對的是Andoid概念空間,而不是Linux進程了,在Andoid概念空間中已經沒有了Lliux進程的概念,而是Service,proxy,Activity,provider等。 ![](https://box.kancloud.cn/2016-05-05_572b1a14ae097.gif) 至于虛擬機JVM,我們只需要知道JVM是Dalvik?VM(虛擬機)這是一個專為嵌入式設備打造的JAVA虛擬機,是一個有著自己的code-byte和格式的可以在嵌入式設備上高效運行的Java虛擬機。 為了研究的深入,我們還是需要涉及到JNI?Native部分。在這個分類中我將JVM分為JVM空間和C++空間。 ![](https://box.kancloud.cn/2016-05-05_572b1a14c355a.gif) Android應用的開發者是工作在Android外特性概念空間的,這里沒有了Linux的一點氣息,Android構建的外特性空間概念包含了:Activity,Provider,Interface,Events,Provider,Service等。至于JVM空間和C++空間的劃分是為了研究Android核心的描述而提出的,我們在做Android系統開發時,常常需要修改到JNI的Native部分。后面我將用較多的篇幅來深入闡述這個部分。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看