原创 Java系列之代理模式

一,寫在前面     在學習設計模式前,建議對設計模式的六大原則有所瞭解。六大原則是指導方針,設計模式則是適用於不同場景的指導方針的具體實現。在文章觀察者模式中對六大原則有簡單的介紹,這裏不再重複闡述。     爲了更好去理解代理模式的思

原创 Java系列之裝飾模式

一,寫在前面     在學習裝飾模式之前,建議先了解代理模式。裝飾模式和代理模式的類圖結構幾乎一樣,僅僅是使用的目的有所差異,對比學習有助於理解裝飾模式的使用。     假設有一個接口Human,一個接口的實現類Man。人類Human是可

原创 點亮技能之Android6.0動態權限

一,寫在前面     在sdk23以前,用戶安裝應用時必須同意開發者添加的所有權限,否則應用無法安裝成功。對於開發者來說,只需要在清單文件裏添加功能模塊需要的權限,非常方便。對於用戶來說,卻是災難性的,數據隱私完全暴露在應用面前。    

原创 Java系列之觀察者模式

一,寫在前面     學習任何設計模式前,建議先了解一波設計模式的六大設計原則。在學習了某一設計模式的用法後,再從6大原則出發去分析如此設計的好處,可以儘可能做到“知其然並知其所以然”。     Java系列的23種設計模式,都離不開6大

原创 源碼解析之HashMap實現原理

目錄 一,寫在前面 二,栗子 三,HashMap設計思路 四,邊界變量 五,put方法 六,resize方法 七,get方法 八,關於HashMap實現原理的問答題 一,寫在前面 在日常開發中,HashMap因其可以存儲鍵值對的特點經常被

原创 圖文淺析之Android顯示原理

一,寫在前面 本篇文章會以圖文的方式介紹Android設備的顯示原理,不會深入到源碼去分析一些細節,閱讀本篇文章會對顯示原理有個感性的認識,以便更好的理解Android性能優化相關的原理。 二,爲什麼要學習Android顯示原理 大家玩手

原创 Android屬性動畫之實踐篇

一,寫在前面       Android動畫分爲View動畫,幀動畫,屬性動畫。      View動畫包含四種動畫:ScaleAnimation,TranslateAnimation,AlphaAnimation,RotateAnima

原创 關於Android中常用的四種線程池的介紹

一,寫在前面        線程池的好處:可以在設定固定數量的線程池,並重用線程池中的線程,避免了線程不斷的創建和銷燬帶來的性能開銷。另外,還可以定時以及間隔循環執行任務。               Android線程池有哪些:Fixe

原创 Android Service的綁定流程源碼分析(8.0)

一,寫在前面        爲了更好的理解Service的綁定流程,建議先了解Activity和Service的啓動流程,本篇文章將不再對一些重複的細節進行闡述。建議閱讀前,可以參考如下兩篇文章: Android Activity的啓動流

原创 點亮技能之ButterKnife使用及原理

一,寫在前面        這篇文章將介紹ButterKnife框架的一些基本使用,並會介紹ButterKnife的實現原理。由於ButterKnife是以註解的形式被使用,閱讀本篇文章需要讀者有Java註解相關的知識。對Java註解不太

原创 Android中ThreadLocal的工作原理

一,寫在前面        Android中ThreadLocal有一個典型應用場景,存取主線程線程中的Looper對象,例如:在主線程中調用Looper.prepare(),與在子線程中調用Looper.prepare()初始化是不同線

原创 Android 圖片的三級緩存最佳實踐與解析

一,寫在前面        本篇文章將從圖片的緩存,圖片的高效加載,異步加載圖片三個點,來講述關於緩存圖片的一系列技術點。關於異步加載圖片涉及使用線程池加載異步任務,對這塊知識不瞭解可以參考文章關於Android中常用的四種線程池的介紹 

原创 Android中Looper,MessageQueue,ThreadLocal源碼解析

一,寫在前面        之前寫過一篇關於Handler機制的文章,寫得還算比較全面,本篇文章側重以Looper,MessageQueue,ThreadLocal三者間的關係進行分析。建議在閱讀本篇文章前,先閱讀文章 全面解析Andro

原创 Android BroadcastReceiver的工作流程源碼分析(8.0)

一,寫在前面        本篇文章會從源碼角度分析廣播的工作流程,具體來說是分爲兩部分:廣播的註冊,發送廣播。在閱讀本篇文章前,建議先了解Activity,Service相關的工作流程。本篇文章將不再分析工作流程中的重複細節,參考文章:

原创 點亮技能之Java註解

  一,寫在前面  本篇文章,將學習Java註解相關的知識點,包括 註解的定義 註解的屬性 元註解 如何使用註解 註解的提取 版本:Java註解是jdk1.5引入的技術   二,註解的定義 註解的定義,類似於Java中接口的定義,只需要在