java調(diào)用new關(guān)鍵詞去創(chuàng)建一個新的對象時,主要經(jīng)歷了什么? 1、確認類元信息是否存在。當虛擬機接收到 new 指令時,首先在 metaspace 內(nèi)檢查需要創(chuàng)建的類元信息...
在你追蹤源碼時,經(jīng)常會看到如下,想追蹤PhoneWindow發(fā)現(xiàn)找不到源碼 這種現(xiàn)象的產(chǎn)生是Google出于安全或其他什么原因,編譯完成的android.jar會將某些方法和...
一、二叉樹的遞歸遍歷 二、二叉樹的層次遍歷 二叉樹的層次遍歷是指二叉樹從上到下,從左到右遍歷數(shù)據(jù)。同一層中的節(jié)點訪問完了,接著訪問下一層級的元素。先遇到的節(jié)點先訪問,后遇到的...
Android View從設(shè)計到顯示到屏幕上,共用了三大步:measure、layout、draw。今天主要講講View是如何測量的。 以FrameLayout為例,從mea...
關(guān)于具體的Android輸入法泄漏問題,請參閱以下兩篇文章: InputMethodManager內(nèi)存泄漏已成為歷史[https://blog.csdn.net/ysy950...
LiveData顧名思義活著的數(shù)據(jù),是什么原理導致數(shù)據(jù)能感知程序的生命周期,下面我們就從源碼進行解析。 一、LiveData概覽 LiveData為泛型抽象類,泛型主要是為了...
一、ViewModel使用 如圖1,ViewModel使用很簡單,只用將類繼承ViewModel類即可 如圖2,在Activity里面只要使用ViewModelProvide...
一.基礎(chǔ)概念1.同步(Synchronous)/異步(Asynchronous)同步或者異步通常是針對方法調(diào)用說的,同步方法調(diào)用需要等待方法結(jié)果返回,方法才能結(jié)束調(diào)用。異步方...
一.線程的狀態(tài) 1.NEW:剛剛創(chuàng)建的線程,線程還沒有運行等該調(diào)用線程的start();2.RUNNABLE:這個狀態(tài)的線程正在虛擬機中執(zhí)行,但是它可能在等待系統(tǒng)其他資源。3...