原创 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,