原创 Activity啓動基本流程分析
1.概述 基於Android9.0(SDK 28)源碼。 關鍵類: ActivityThred ApplicationThread ActivityManagerService ProcessRecord 進程信息 Activit
原创 java的異常處理機制要點總結
一,異常類的繼承層次結構 所有的異常都是由Throwable繼承而來,在下一層立即被分解被兩個分支:Error和Exception Error類層次結構描述了Java運行時系統的內部錯誤和資源耗盡錯誤,應用程序不能
原创 Java多線程工作原型的理解(一)
Java多線程:內存模型 1.引言 在Java中,因爲有jdk的封裝,線程使用起來很方便,可以不用關注很多實現上的細節問題。但是由於存在共享變量(方法區,堆區),在實際的開發中需要規避多線程數據不一致問題。 要規避多線程
原创 java內存分配和區域劃分
一.C/C++和Java的內存管理方式差異比較 說明:內存管理即內存的分配和釋放 C/C++的編譯運行環境: Java的編譯運行環境: 三.兩種內存分配方式的優缺點比較? Java的內存管理機制—-java內存模型 Jav
原创 從源碼角度學習EventBus
引言: 最近看了EventBus的源碼,看完後分享下自己的理解 寫法約定: 文件的eventTypeClass 對應事件的Class對象,ObjectClass對應Object類的Class對象 EventBus簡介:以觀察者模
原创 Android的BaseActivity的
寫過一些小Android應用的開發者在創建框架時,爲了提高代碼複用率而設計一些基類和接口,同時也在一定程度上降低耦合度。那麼在設計BaseActivity的時就需要其足夠的抽象(通用),以便減少後面的重複代碼。 其中一個常用的就
原创 Android事件分發機制實例分析
最近在做東西的時候發現自己對事件的分發(傳遞)機制理解的並不清楚,可以說是錯誤的理解了事件分發機制。對此,自己找了一些實例的例子,來加深對Android的時間分發機制的理解。廢話不多說,直入主題。 下圖是這個案例的實現界面:
原创 從源碼角度學習ThreadLocal原理
1.ThreadLocal基本介紹 相信使用java語言做開發的同學,肯定多或多或少了解過ThreadLocal,簡單來說就是一個“以當前Thread對象作爲key的key-value存儲結構,能實現多線程的讀寫安全”。那麼他究竟