原创 Android內存優化雜談

  原文出處:WeMobileDev(微信公衆號)   Android內存優化是我們性能優化工作中比較重要的一環,這裏其實主要包括兩方面的工作:   1.優化RAM,即降低運行時內存。這裏的目的是防止程序發生OOM異常,以及降

原创 實現不同字體顏色的TextView

遇到的需求,mark一下: package com.chuck.recyclerviewdemo; import android.content.Context; import android.graphics.Canvas;

原创 View 中的dispatchTouchEvent,OnInterceptTouchEvent ,OnTouchEvent方法

在view 的點擊事件分發的過程中有三個非常重要的方法: dispatchTouchEvent() onInterceptTouchEvent() onTouchEvent() 先來認識一下這三個方法: dispatch

原创 Android事件分發與消費

  之前寫過一篇Android 事件分發機制詳解 ,感覺比較亂,這裏再總結一下。網上已經有很多前輩分析過源碼,大家可以參考,我這裏儘量不做過多的源碼分析,僅僅從流程上分析。   0x01 基礎部分      事件分發和消費我們主要涉及

原创 ButterKnife源碼剖析

  轉載請註明:http://blog.csdn.net/chenkai19920410/article/details/51020151      ButterKnife是Jake Wharton大神寫開源框架。項目託管地址:  

原创 Gradle for Android系列之四 依賴包管理

  在Gradle for Android系列之二 build.gradle文件 中已經初步介紹過依賴包。爲什麼我們這裏還要在專門介紹呢,因爲我們在項目中往往需要用到各種依賴方式,對我們來說很重要。掌握Gradle依賴包管理,可以讓我們事

原创 Android Frameworks系列(二) 徹底弄懂startActivity

  在Android Frameworks系列(一) startService啓動 一文中我們介紹了startService啓動的過程,和startService一樣,startActivity也是以ActivityManagerServ

原创 手把手教你在JCenter發佈開源庫

  當你自己造好了輪子,想讓其他人也能方便的使用到,就好像其他開源庫一樣,在AndroidStudio中一句話引用:    dependencies { compile 'chuck.WheelItemView:library:

原创 Retrofit2源碼解析

  最近項目將網絡框架換成Retrofit2.0.2,文中說的Retrofit都是指的Retrofit2這裏要說明一下,畢竟和Retrofit1差別還是蠻大的,結合Okhttp,RxJava還是比較好用的,網上有很多前輩介紹過使用方法,本

原创 Android Frameworks系列(一) startService啓動

  之前寫過一篇從AIDL看Android跨進程通信 從Java層次去分析AIDL運行的原理,當時主要是爲了學習Binder機制而寫的,但是Binder機制比較複雜,打算過段時間單獨的寫一篇來分析。本篇文章分析startService的啓

原创 Android開發中的代理模式

  上一篇文章Android開發中單例模式寫法與可能遇到的坑講到了單例模式的一般寫法,本篇繼續總結一下Android(Java)中比較常用的代理模式。和單例模式一樣,代理模式也是經常使用到的,使用過Spring的小夥伴,應該比較清楚,其A

原创 Gradle for Android系列之一 Gradle基礎

  project 和task   project和task是Gradle中最重要的兩個概念。每一次構建,都至少包括一個project,每一個項目又包括至少一個task。相信大家都對Android Studio生成的項目結構已經很熟悉了

原创 RxJava(RxAndroid)線程切換機制

  自從項目中使用RxJava以來,可以很方便的切換線程。至於是怎麼實現的,一直沒有深入的研究過!本篇文章就是分析RxJava的線程模型。   RxJava基本使用   先上一個平時使用RxJava切換線程的例子:    Obser

原创 Gradle for Android系列之五 多渠道打包

  我們知道,很多的app需要發佈在不同的應用商店中,但是各應用商店對上架的要求有時候又不相同,也就意味着我們需要針對不同的渠道,構建不同的渠道包,如果手動做這些事情,會比較繁瑣,那麼使用Gradle會方便很多!本篇在前文的基礎上介紹一下

原创 自己動手生成Android Apk

  本文僅做學習使用,比較簡單,沒有實際項目複雜。   掌握Apk生成的過程,對於我們是非常重要的。而該過程平時都是由IDE自動幫我們完成的。IDE可以給我們帶來很大的便利,但是也是一把雙刃劍,有時候會讓我們忽視一些重要的實現步驟。所以