原创 編譯Android源碼(9.0)

參考了官方文檔和前輩們的編譯經驗,但還是遇到了不少坑,在這裏記錄一下過程。 官方文檔地址:https://source.android.google.cn/source/downloading 下面寫一下具體步驟: 1. 新建大小

原创 Retrofit源碼分析

Retrofit是Square團隊對網絡請求庫Okhttp的進一步封裝,趁着剛分析完Okhttp源碼的熱乎勁順帶着把Retrofit源碼又過了一遍。Okhttp源碼分析戳這裏 Retrofit基本使用 老規矩分析源碼從最簡單的流程

原创 Okhttp3源碼淺析

發起一個簡單的Okhttp請求: OkHttpClient okHttpClient = new OkHttpClient.Builder().build(); Request request = new Req

原创 Java中的Future和FutureTask探索

什麼時候要用到Future? 當程序的執行需要依賴於另一個線程的執行完成或計算結果時,這時候就需要線程阻塞等待另一個線程的執行。Future的get()方法會阻塞當前線程,直到另一個線程執行完畢並返回結果。 什麼是Future?

原创 Mac編譯Android源碼(9.0)

參考了官方文檔和前輩們的編譯經驗,但還是遇到了不少坑,在這裏記錄一下過程。 官方文檔地址:https://source.android.google.cn/source/downloading 下面寫一下具體步驟: 1. 新建大小

原创 Center os安裝MySQL8.0啓動失敗的解決辦法

最近把MySQL從5.6升級到8.0,安裝完畢無法啓動,提示No Such Directory tail -n 50 /var/log/mysqld.log 看了一下最近的日誌 2019-06-26T03:28:46.058

原创 Google Play通話記錄和短信權限使用限制

前段時間Google Play應用中心收到了限期整改通知,記錄一下之前權限適配的問題,防止後面新開項目忘記此限制。 Google Play在Facebook泄密醜聞之後收緊對應用獲取隱私權限的限制,凡是在清單文件聲明瞭通話記錄和短

原创 Android事件分發機制源碼執行流程分析

事件機制在應用開發中非常重要,手指與界面任何交互都會轉化成一個個事件,通過事件機制完成一系列的邏輯處理,最終找到事件的響應者。理解事件機制我們才能準確的把握在具體情況下如何把事件交由相應的View進行處理,開發過程中經常會遇到事件

原创 小程序開發踩坑記錄

筆者作爲一個Android開發,因公司需求邊研究邊開發持續了差不多一個月項目基本完工,把開發中遇到的問題及踩坑經歷做了一下記錄。 其實小程序雖然是前端語言作爲開發基礎,但因爲爲是嵌入到微信內部的,考慮到仿原生應用的交互邏輯,其實移動端

原创 自定義View和ViewGroup常用方法執行順序

1. 自定義View常用方法執行順序 1.創建MyView繼承View public class MyView extends View { public MyView(Context context, @Nullable At

原创 Window窗口布局層級結構源碼分析

下圖是基於Activity創建的Window窗口層級示意圖Activity的window創建是在Activity啓動過程中完成的,Activity的啓動過程這裏不再贅述,詳情見Activity啓動流程圖。在ActivityThread類的

原创 Activity啓動流程圖 —— 源碼執行流程(android 6.0)

流程圖展示了Android 6.0系統Activty啓動時源碼的執行順序,包含應用進程與SystemServer進程之間通過Binder機制通信的過程以及Activity生命週期方法的調用時機。具體源碼分析此處不再班門弄斧,參考Andro

原创 LayoutInflater源碼執行流程

我們經常需要在代碼中讀取一個xml文件將其對應的View加載到內存中,一般有兩種方式:1.View.inflate(.......);2.LayoutInflater.from(context).infla

原创 Android系統啓動流程圖 —— 源碼執行流程(android 6.0)

流程圖展示了Android 6.0系統啓動時源碼的執行順序,包含Zygote進程啓動、SystemServer和應用進程的創建過程。具體源碼分析參考Zygote進程啓動流程、SystemServer進程啓動流程、應用進程啓動流程

原创 MediaPlayer中onCompletion和onError的坑

問題: 在做音樂播放功能時,發現點擊下一曲或者上一曲有時會跳過曲目播放,通過檢查下一曲next()和上一曲pre()方法邏輯並沒有發現什麼問題,爲什麼會出現這種情況呢? 基本功能: 1.可以手動點擊上一曲下一曲 2.設置OnComple