原创 OkHttp3源碼分析

基本使用 從使用方法出發,首先是怎麼使用,其次是我們使用的功能在內部是如何實現的.建議大家下載 OkHttp 源碼之後,跟着本文,過一遍源碼。 官方博客栗子:http://square.github.io/okhttp/#examples

原创 Okhttp3 研究總結 (面試)

OKhttp3 是最近比較主流的網絡請求框架。面試中,常會問道你對okhttp3是否有深入的瞭解。在這篇文章我總結了下okhttp3的原理(非用法,用法自己百度就行),以及大神們根據源碼分析OKhttp3比較好的文章。 1.首先是大神們對

原创 Android Studio 自定義Gradle 插件

https://www.jianshu.com/p/26537645566b Android Studio 自定義Gradle Plugin  包含github demo https://www.jianshu.com/p/d53399c

原创 Android AIDL實踐

  概述 AIDL是一個縮寫,全稱是Android Interface Definition Language,也就是Android接口定義語言,它是用來實現進程間通訊的,本文使用AIDL寫一個小demo來實現誇進程間通訊 AIDL介紹

原创 Android ContentProvider原理分析

  目錄 ContentProvider概述 類圖 時序圖 源碼解析 installProvider ContentResolver中的CURD acquireProvider 到AMS獲取ContentProvider publish

原创 android自定義註解之Element詳解

基本介紹 element指的是一系列與之相關的接口集合,用於建模java編程語言元素的接口,它們位於javax.lang.model.element包下面 element是代表程序的一個元素,這個元素可以是:包、類/接口、屬性變量、

原创 設計模式(十四)---原型模式

這篇博客我們來介紹一下剩下的最後一個創建型模式:原型模式(Prototype Pattern)。該模式有一個樣板實例,用戶從這個樣板對象中複製出一個內部屬性一致的對象,這個過程在 C++ 中就是一個克隆。被複制的實例就是我們所稱的“原型”

原创 Android LruCache 緩存機制實現原理

關於Android的三級緩存,其中主要的就是內存緩存和硬盤緩存。這兩種緩存機制的實現都應用到了LruCache算法,今天我們就從使用到源碼解析,來徹底理解Android中的緩存機制。 一、Android中的緩存策略 一般來說,緩存策略

原创 設計模式(四)簡單工廠模式

1.簡單工廠模式簡介 定義 簡單工廠模式屬於創建型模式又叫做靜態工廠方法模式,是由一個工廠對象決定創建出哪一種產品類的實例。 簡單工廠模式結構圖 Factory:工廠類,簡單工廠模式的核心,它負責實現創建所有實例的內部邏輯。工廠類的創建

原创 插件化原理解析——Activity生命週期管理

之前的 Android插件化原理解析 系列文章揭開了Hook機制的神祕面紗,現在我們手握倚天屠龍,那麼如何通過這種技術完成插件化方案呢?具體來說,插件中的Activity,Service等組件如何在Android系統上運行起來? 在Jav

原创 件化知識詳細分解及原理 之資源的使用及動態加載 附demo

上一篇我們已經完成了一個真正可運行的插件化demo,而且demo中也解決了插件中不可以使用資源的問題,但是由於篇幅的問題我們並沒有對原理講解,所以這一篇是對上一篇的一個收尾,如果沒有看過上一篇建議先看件化知識詳細分解及原理 之實現代碼資源

原创 插件化原理解析——ContentProvider的插件化

目前爲止我們已經完成了Android四大組件中Activity,Service以及BroadcastReceiver的插件化,這幾個組件各不相同,我們根據它們的特點定製了不同的插件化方案;那麼對於ContentProvider,它又有什麼

原创 插件化原理解析——Service的插件化

在 Activity生命週期管理 以及 廣播的管理 中我們詳細探討了Android系統中的Activity、BroadcastReceiver組件的工作原理以及它們的插件化方案,相信讀者已經對Android Framework和插件化技術

原创 插件化原理解析——插件加載機制

上文 Activity生命週期管理 中我們地完成了『啓動沒有在AndroidManifest.xml中顯式聲明的Activity』的任務;通過Hook AMS和攔截ActivityThread中H類對於組件調度我們成功地繞過了Androi

原创 插件化原理解析——廣播的管理

在Activity生命週期管理 以及 插件加載機制 中我們詳細講述了插件化過程中對於Activity組件的處理方式,爲了實現Activity的插件化我們付出了相當多的努力;那麼Android系統的其他組件,比如BroadcastRecei