原创 Android源碼解析--ContentProvider的創建及啓動流程

分析源碼:Android 8.0 本文主要分析調用getContentResolver方法以後,獲取到ContentProvider的流程,或者說getContentResolver方法以後,和ContentProvider建立聯

原创 Android(java)中線程的線程池

1、線程池簡介 線程池是我們在開發過程中用的比較多的一個功能,在Android中的線程池和其實和java是保持一致的,並無什麼區別。使用線程池的好處主要有以下三個: 1、重用線程池,避免現線程的創建和銷燬所帶來的的性能開銷; 2

原创 Android AsyncTask的使用及源碼分析

在上一篇博客中,我們提到AsyncTask的任務默認是串行執行的,並且AsyncTask對象必須在主線程中創建,並且一個AsyncTask對象只能執行一次execute方法,否則就會報錯,這一切的原因是什麼呢?本文就將通過源碼分析

原创 Android中線程的不同形態(Thread、AsyncTask、HandlerThread、IntentService)

線程作爲CPU最小調度單位,使我們開發中進程需要用到的功能。在Android中,除了java原本就提供的Thread以外,還提供了其他形式的線程,如AsyncTask、IntentService、HandlerThread, 它們

原创 Android除了三大動畫,還有哪些動畫?

在上一篇博客Android的三種動畫詳解 中講解了Android的幀動畫、View動畫(補間動畫)、屬性動畫。 這三種動畫已能解決絕大部分需求,但實際上,隨着Android的發展,有越來越多的動畫產生,有的是Android原生的

原创 Android的三種動畫詳解(幀動畫、View動畫、屬性動畫)

Android的動畫分爲了三種, 分別是 幀動畫、View動畫、屬性動畫。 1、幀動畫 幀動畫就是順序播放一組預先定義好的圖片,就類似於我們觀看視頻,就是一張一張的圖片連續播放。 幀動畫的使用很簡單,總共就兩個步驟: 1、在re

原创 Android常用的數據庫語句

1、數據庫語句 1.1、創建數據庫 create database 數據庫名稱 character set 字符集名稱 ; create database 數據庫名稱 character set 字符集名稱 collate col

原创 Android View的測量、佈局、繪製過程詳解(下)

View的measure()方法是final的,因此我們無法在子類中去重寫這個方法,在該方法內部會調用onMeasure()方法。所以我們自定義view時,要重寫也是重寫onMeasure方法。同理,layout、draw也是fi

原创 Android View的測量、佈局、繪製過程詳解(上)

Android View的繪製過程主要有三步: 測量 Measure 佈局 Layout 繪製 Draw 首先理解MeasureSpec的含義,然後跟蹤ViewGroup的measure、layout、draw三個方法即可 v

原创 Android 事件傳遞機制詳解(事件的分發、攔截、處理)

1、事件在Android中的傳遞順序 事件在Android的傳遞順序: Activity--> Window-->DecorView --> 佈局View 或者說以上順序是事件在應用層的傳遞順序。如果要說整個事件的傳遞機制,是

原创 Android消息機制詳解:Handler、MessageQueue、Looper

1、Handler的誕生背景 在Android中,規定了只能在主線程(或者叫UI線程)中,去進行UI相關的操作,而其他線程則無法操作UI,否則報錯; 但同時,由於不能再UI線程進行耗時的操作,否則會報ANR異常, 因此,我們通常又

原创 Android消息機制--Handler的常見用法介紹

1、Handler的誕生背景 在Android中,規定了只能在主線程(或者叫UI線程)中,去進行UI相關的操作,而其他線程則無法操作UI,否則報錯; 但同時,由於不能再UI線程進行耗時的操作,否則會報ANR異常, 因此,我們通常又

原创 Android源碼解析--ActivityManagerService詳解(一):從開機啓動的角度解析AMS

ActivityManagerService是Android系統中一個特別重要的系統服務,也是我們上層APP打交道最多的系統服務之一。ActivityManagerService(以下簡稱AMS) 主要負責四大組件的啓動、切換、調度以

原创 Android源碼解析--ClipBoardService服務詳解

ClipBoardService是Android的粘貼板服務,我們的複製粘貼都需要通過這個服務來完成。 1、與ClipBoardService相關的類 如下圖所示, ClipBoardService服務核心的幾個類: android

原创 Android源碼解析--SamplingProfilerService服務詳解

SamplingProfilerService,從字面理解,就是採樣剖析服務, 該服務用來進行性能採樣及統計。 1、SamplingProfilerService 首先看一下SamplingProfilerService在System