編輯:關於Android編程
打算寫個android的cache機制系列文章,目前部分主題還出於列提綱階段,慢慢完善吧。
1 安卓的焦點
當在Node List中找到新焦點時,檢查後發現如果與自己是兄弟姐妹,就把它push到stack裡面。當所有的兄弟姐妹都被找到,換句話說是父親的最後一個孩子被找到、並被放到stack裡面,pop出此stack.注意:此stack不同於Tracker的stack,Tracker的stack只push帶孩子的焦點。
這種方式是詭異的:焦點-子焦點-孫焦點--如果我保存每一代的數字(比如自己是第1代,孩子是第2代,孫子是第3代),我能更快的斷定一個節點是否是此焦點的父親的孫節點。這種方法額外要求能找到孫節點的父親。
2 CachedNode是什麼?是保存Node的類
3 CachedFrame是什麼? 是最重要的類,Cache引用的第一個節點總是Document,CachedFrame中保存了所有Frame相關的信息:
1 所有的Frame: WTF::Vector<CachedFrame> mCachedFrames,
2 所有節點(DOM::Node): WTF::Vector<CachedNode> mCachedNodes,
3 所有輸入框:WTF::Vector<CachedInput> mCachedTextInputs,
4 所有layer:WTF::Vector<CachedLayer> mCachedLayers;如果使用混合加速的話,
5 所有顏色:WTF::Vector<CachedColor> mCachedColors。
4 CachedRoot是什麼?是CachedFrame的子類,
5 CachedHistory是什麼?維護一個最近訪問的8個節點(Node)列表,用來代表歷史訪問。
WebViewCore::updateFrameCache()->
{
CachedRoot* m_temp = new CachedRoot();
}
buildCache(CachedRoot* root)->
BuildFrame
獲取Frame的Document:
Document* doc = frame->document();
Node* parent = doc;
把緩存的父節點初始化設置為Frame的document:
cachedParentNode.init(parent);
一、Android Studio簡單介紹2013年GoogleI/O大會首次發布了Android Studio IDE(Android平台集成開發環境)。它基於Intel
自從寫了上篇《chrome 源碼研究啟航篇》後,到今天已經有了近一個月的時間,這段時間做了啥呢?研究到啥程度了呢?後續節奏是否有調整呢?針對上邊疑問,下面做逐個解答:這段
在我們使用手機的時候,由於眼睛需要正對著屏幕,隨著時間的增加,就會引起眼睛疲勞,不適,以及近視等問題,所以我們在使用手機的時候盡量要控制好使用時間,保護好自
熟悉RxAndroid的使用方法. 要點包含: (1) 鏈式表達式的使用方式. (2) Lambda的應用. (3) Rx處理網絡請求. (4) 線程自動管理, 防止內存