《Android源碼設計模式》--享元模式

來源:互聯網
上載者:User

標籤:調用   提升   儲存   共用   初始化過程   存在   函數   java   啟動   

No1:

享元模式是對象池的一種實現。享元模式用來儘可能減少記憶體使用量量,它適合用於可能存在大量重複對象的情境,來緩衝可共用的對象,達到對象共用、避免建立過多個物件的效果,這樣一來就可以提升效能、避免記憶體移除等。

No2:

UI不能夠在子線程中更新。因為並不是UI不可以在子線程更新,而是UI不可以在不是它的建立線程裡進行更新。

No3:

(1)首先構造Java層的Looper對象,Looper對象又會在建構函式中建立Java層的MessageQueue對象

(2)Java層的MessageQueue的建構函式中調用nativeInit函數初始化Native層的NativeMessageQueue,NativeMessageQueue的建構函式又會建立Native層的Looper,並且通過管道和epoll建立一套訊息機制

(3)Native層構建完畢,將NativeMessageQueue對象轉換為一個整型儲存到Java層的MessageQueue的mPtr中

(4)啟動Java層的訊息迴圈,不斷地讀取、處理訊息

這個初始化過程都是在ActivityThread的main函數中完成的,因此,main函數運行之後,UI線程訊息迴圈就啟動了,訊息迴圈不斷地從訊息佇列中讀取、處理訊息,使得系統運轉起來

No4:

訊息的處理分為Native層和Java層,兩個層次都有自己的訊息機制,Native層基於管道和epoll,而Java層則是一個普通的鏈表。

 

《Android源碼設計模式》--享元模式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.