原创 Java單例模式的思考

單例模式的特徵 私有的構造函數 提供靜態變量 提供靜態的獲取實例方法 單例模式六種寫法 餓漢式單例模式 /** * @author: lilinjie * @date: 2019-08-27 13:37 * @des

原创 Android中類加載機制解析

Android中的ClassLoader Java中的ClassLoader是加載class文件,而Android中的虛擬機無論是dvm還是art都只能識別dex文件。因此Java中的ClassLoader在Android中不適用

原创 Android事件分發機制流程解讀

事件分發的順序 Activity->Window->DecorView->ViewGroup->View 事件的類型 ACTION_DOWN、ACTION_MOVE、ACTION_UP、ACTION_CANCEL 通常一個事件序列

原创 Android中SharedPreferences源碼解析與性能優化

SP XML文件與SharedPreferences對象關係解讀 data/data/packagename/shared_prefs 中的xml文件,以下簡稱sp文件 ContextIml對象中通過Map集合緩存了多個Share

原创 MQTT源碼分析

MQTT介紹 MQTT是個輕量級的消息訂閱/發佈協議,基於TCP協議,在物聯網中應用較廣,當然也有的公司拿MQTT協議來做Push或IM。MQTT協議有很多客戶端/服務端的實現,如Eclipse Paho就是其中一個。本文不對MQ

原创 Android中的HandlerThread分析

HandlerThread簡介 HandlerThread,顧名思義,是一個在其內部可以使用Handler的線程,其實本質是HandlerThread線程內部構造了一個Looper環境。源碼如下:在其run方法中初始化了一個Loo

原创 Android APK體積優化

隨着Android移動開發的需求越來越複雜,我們不可避免的遇到發佈出去的apk體積越來越大的問題, 目前超過10MB、20MB的apk已經是很常見的事情了,但是依然能夠看到一些apk的體積控制的很小。apk體積增大源於: 新需求不斷的

原创 Java的類加載機制

最近一直在回顧複習Java知識,希望能夠從更深的角度去理解Java語言,也在從頭開始看Thinking In Java,今天想總結下在Java的類加載機制。 系統可能在第一次使用某個類的時候加載該類,也可能採用預加載機制來加載某個類。當使

原创 Android架構組件 Lifecycle

概述 每個Android開發者都應該面對過生命週期問題,即操作系統啓動、停止和銷燬Activity。這意味着開發者需要根據生命週期的不同階段,有針對性地管理組件狀態,比如用於更新用戶界面的可觀察對象。生命週期管理(Lifecycles)幫

原创 MySQL數據庫學習

雖然筆者從事的是Android客戶端的開發,平時和數據庫打的交道並不多,但是我們對於數據庫這一塊的學習還是很重要的,今天筆者想總結下MySQL關係型數據庫的一些常用知識點 數據庫概述 一、常見的概念 數據庫(DataBase):數據庫是按

原创 Android中如何優雅的定義常量

本篇博客是筆者的第一篇博客,其實很早之前就有了寫博客的想法。但是奈何萬事開頭難,一直沒有下定決心。隨着自己積累的知識不斷增多,如果不進行總結,不進行思考歸納,有些知識會經常遺忘。對於某些難題,可能當時有了解決方案,但是如果不做筆記,不做記