原创 RxLifecycle源碼分析

隨着RxJava及RxAndroid的逐漸推廣,使用者越來越多,但是有一個問題,RxJava的使用不當極有可能會導致內存泄漏 目前網上對RxJava的內存泄漏有幾種方案: 1、RxLifecycle 2、AutoDispose 3、自己封

原创 Retrofit源碼分析之Rxjava轉換器

一、在Retrofit源碼分析之一中瞭解到,使用retrofit可以設置callAdapter /** * Api管理工具類,通過該類創建相應的api-service類 */ object ApiServiceManager {

原创 Okhttp3源碼分析之四

看過OKHTTP源碼的都會知道,裏面有個任務調度Dispatcher 這裏分析一下Dispatcher源碼: public final class Dispatcher { private int maxRequests = 64;

原创 Okhttp3源碼分析之一

一、OKHTTP簡介 OKHttp是一個處理網絡請求的開源項目OKHttp GitHub地址 OKHttp優點 支持HTTP2/SPDY(SPDY是Google開發的基於TCP的傳輸層協議,用以最小化網絡延遲,提升網絡速度,優化用戶的網絡

原创 Okhttp3源碼分析之三

從Okhttp3源碼分析之一可知,調用Call的enqueue執行最終的請求 //1.創建OkHttpClient對象 OkHttpClient okHttpClient = new OkHttpClie

原创 微信登錄和分享的封裝

一般APP的登錄都有使用微信登錄、接第三方登錄,有兩種方法: 1、接第三方封裝庫,裏面包含了目前主流的第三方登錄 2、自己接登錄SDK 這裏簡單的封裝一下微信登錄的回調activity: GitHub源碼 一、創建SDKWXEntryAc

原创 android 方法體任務隊列

一、我們會遇到一種情況: 1、點擊某個按鈕或發生某個信息指令,進而執行一個任務(如請求接口) 2、但是!由於快速點擊,或發生信息指令時、短時間內頻繁執行了多次 3、當我們收到某個信息指令時,只需執行一次任務時,代碼邏輯顯得更加雜亂 因此,

原创 Retrofit源碼分析之gson解析器

1、在Retrofit源碼分析之一中知道,使用retrofit可以添加解析器 /** * Api管理工具類,通過該類創建相應的api-service類 */ object ApiServiceManager { priv

原创 Android Studio項目發佈到Maven倉庫的入坑之路

一、註冊賬號 首先你需要註冊一個Bintray賬號,注意此處需要點擊Sign Up Here註冊(或者直接訪問https://bintray.com/signup/oss) 。綠色按鈕是註冊企業賬號的,需要付費,有試用期,我們需要註冊開發

原创 android拍照、圖庫與裁剪

一、前言 好多APP都有上傳圖片的功能,無聊是調起相冊還是拍照,都必須要在activity的onActivityResult回調方法處理,實現起來比較繁瑣。至此對其進一步封裝。使用起來更加簡單。 二、直接上源碼: GitHub源碼 1、首

原创 RxBus的封裝

要實現fragment與activity之前的通訊,或者service與activity的通訊,我們可以有好幾種方式實現 1、廣播 2、回調接口 3、eventBus、RxBus 4、其他     封裝了一下RxBus的使用,廢話不多說,

原创 Okhttp3源碼分析之六

    瞭解OKHTTP的都知道,它提供websocket的使用 聲明OkHttp client client = new OkHttpClient.Builder() .readTimeout(3, TimeU

原创 Okhttp3源碼分析之五

分析一下OKHTTP的攔截器 //攔截器 Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of in

原创 Retrofit源碼分析之一

Retrofit 請求網絡 實際上是使用 Retrofit 接口層封裝請求參數、Header、Url 等信息,之後由 OkHttp完成後續的請求操作,在服務端返回數據之後,OkHttp 將原始的結果交給 Retrofit,後者根據用戶的需

原创 Retrofit源碼分析之三

1、在Retrofit源碼分析之二可知,最後調用HttpServiceMethod的parseAnnotations方法 static <ResponseT, ReturnT> HttpServiceMethod<ResponseT,