原创 Dart語言之常用數據類型

目錄 前言 一、Dart概述 二、Dart常用數據類型 2.1、Dart知識體系 2.2、數字類型(num、int和double) 2.3、字符串(String) 2.4、布爾 2.5、集合之List 2.6、集合之Map 2.7、dyn

原创 帶你認識ClassLoader

目錄 寫在前面 一、androidClassLoader基本介紹 1.1、種類詳解 1.2、問題分析 二、androidClassLoader的特點及作用 2.1、特點 2.2、作用 三、ClassLoader源碼解析 3.1、Class

原创 UDP協議之快速入門

目錄 前言 一、什麼是UDP協議 1、UDP的概念 2、爲什麼說UDP是不可靠的? 3、UDP的實際業務場景(就是它能做什麼) 4、UDP報文頭解析 5、UDP包最大長度 二、UDP核心API 1、API-DatagramSocket 2

原创 Android架構設計之MVC/MVP/MVVM淺析

目錄 寫在前面 一、案例演示 二、MVC模式 2.1、MVC簡介 2.2、MVC模式的使用 2.3、MVC模式的缺點 三、MVP模式 3.1、MVP簡介 3.2、MVP模式的作用 3.3、MVP模式的使用 3.4、MVP模式的缺點 四、M

原创 Socket網絡編程之基礎入門

目錄 開頭說兩句 一、網絡編程 二、Socket與TCP、UDP 三、Socket TCP案例簡單實現 四、報文、協議、Mac地址 五、IP、端口及遠程服務器 開頭說兩句 國內自年初爆發新冠肺炎疫情到現在,大家應該都是閉門不出吧,各大公司

原创 玩轉Kotlin之程序結構

目錄 前言 一、常量與變量 二、函數 三、Lambda表達式 四、類的成員 五、基本運算符 六、表達式 七、循環語句 八、異常捕獲 九、具名參數、變長參數和默認參數 十、綜合案例——命令行計算器 前言 磨磨唧唧的又更了一篇,不容易啊!不能

原创 深入探索Android網絡優化

目錄 寫在前面 一、網絡優化維度 二、網絡優化工具選擇 2.1、Network Profiler 2.2、抓包工具 2.3、Stetho 三、精準獲取流量消耗 3.1、如何判斷APP流量消耗偏高 3.2、線上流量獲取方案 3.3、前後臺流

原创 玩轉Kotlin之數據類型

目錄 前言 一、Kotlin簡介 二、Kotlin數據類型 2-1、Boolean類型 2-2、Number類型 2-3、Char類型 2-4、拆箱裝箱 2-5、基礎數據類型轉換 2-6、字符串 三、類和對象 3-1、什麼是類? 3-2、

原创 Android線程優化你瞭解多少

目錄 寫在前面 一、Android線程調度原理解析 1.1、線程調度原理 1.2、線程調度模型 1.3、Android線程調度 二、Android異步方式 三、Android線程優化實戰 3.1、線程使用準則 3.2、線程池優化實戰 四、

原创 帶你認識JVM

目錄 前言 一、Java虛擬機結構 1-1、整體結構 1-2、編譯流程 1-3、類加載器 1-4、加載流程 二、虛擬機內存管理 三、垃圾回收 3-1、垃圾收集算法 3-2、垃圾回收算法 四、Dalvik VM與JVM的不同 五、Dalvi

原创 Android卡頓優化分析及解決方案

目錄 寫在前面 一、卡頓介紹及優化工具選擇 1.1、卡頓問題介紹 1.2、優化工具選擇 二、自動化卡頓檢測方案及優化 2.1、爲什麼需要自動化卡頓檢測 2.2、自動化卡頓檢測方案原理 2.3、AndroidPerformanceMonit

原创 Android佈局優化你想知道的都在這裏了

目錄 寫在前面 一、Android繪製原理及工具選擇 1.1、Android繪製原理 1.2、優化工具 二、Android佈局加載原理 2.1、佈局加載流程 2.2、性能瓶頸 2.3、LayoutInflater.Factory 三、優雅

原创 Android熱修復實戰之AndFix

目錄 寫在前面 一、AndFix基本介紹 1.1、AndFix簡介 1.2、AndFix方法體替換規則 1.3、AndFix BUG修復過程 二、AndFix代碼實戰 2.1、AndFix集成 2.2、AndFix初始化 2.3、構建AP

原创 你的應用內存優化了嗎?

目錄 前言 一、內存優化介紹 1.1、爲什麼要做內存優化? 1.2、內存問題表現形式 二、內存優化工具 2.1、Memory Profiler 2.2、Memory Analyzer(MAT) 2.3、LeakCanary 三、Andro

原创 Android自定義View——繪製基礎

本篇接着上一篇的基礎知識來說,今天要學點能看的見的東西了————繪製基礎。 一、繪製的簡要說明 自定義繪製最主要的點就是重寫繪製方法,當我們定義一個類去繼承自View這個類時,會讓你必須重寫幾個構造方法和onDraw(Canvas can