原创 微信熱修復框架 Tinker 從使用到 patch 加載、生成、合成原理分析

這篇文章是基於內部分享的逐字稿內容整理的,現在比較喜歡寫逐字稿,方便整理成文章。 文章目錄目錄Tinker 介紹使用TinkerApplicaition``SampleApplicaitionLike``TinkerInsta

原创 Android 編譯報錯: Caused by: java.util.zip.ZipException: zip file is empty 解決辦法

記錄一個浪費了幾個小時的小坑。 使用 Aspectj 後,一開始還沒問題,不知道修改了什麼導致編譯報錯: Caused by: java.util.zip.ZipException: zip file is empty 各種搜索

原创 拭心過濾器第 1 期:五月精選文章

大家好,我是張拭心。 周圍有很多優秀的朋友,我經常會想:爲什麼 xx 說話那麼有水平?xx 的知識面那麼廣?xx 的成長那麼快? 除了少部分是天賦差距以外,我覺得更多的是認知差距,說的簡單一點,就是長期以來接受和處理信息的差別。

原创 Android 進階17:Fragment FragmentManager FragmentTransaction 深入理解

日常開發中我們經常使用 Fragment 管理佈局,使用起來非常方便,但是在簡單的 API 背後隱藏了什麼操作,很多人恐怕不瞭解。 如果你回答不出這些問題,那這篇文章可能就對你有些幫助: Fragment FragmentMan

原创 四月文章佔坑

年初立了計劃,每月要產出至少一篇文章,這個月有學習總結一些,先佔個坑後面五一補上

原创 Android 進階12:進程通信之 Socket (順便回顧 TCP UDP)

不要害怕困難,這是你進步的機會! 讀完本文你將瞭解: OSI 七層網絡模型 TCPIP 四層模型 TCP 協議 TCP 的三次握手 TCP 的四次揮手 UDP 協議 Socket 簡介 Socket 的基本操作 使用

原创 我的 2019 總結:警鐘爲誰而鳴

2018 年總結之工作篇 2017 年總結 2016 年總結 以前擅長一些遊戲,是因爲花了些時間研究技巧和規則。現在開啓了人生這場終極大作,卻很少思考其中的規則和路線,大多時候都順應內心隨波逐流,以至於現在回首 2019,對

原创 併發編程4:Java 阻塞隊列源碼分析(上)

上篇文章 併發編程3:線程池的使用與執行流程 中我們瞭解到,線程池中需要使用阻塞隊列來保存待執行的任務。這篇文章我們來詳細瞭解下 Java 中的阻塞隊列究竟是什麼。 讀完你將瞭解: 什麼是阻塞隊列 七種阻塞隊列的前三種 Arr

原创 Android 框架學習2:源碼分析 EventBus 3.0 如何實現事件總線

Go beyond yourself rather than beyond others. 上篇文章 深入理解 EventBus 3.0 之使用篇 我們瞭解了 EventBus 的特性以及如何使用,這篇文章我們來揭開它神祕的面

原创 Android 進階13:幾種進程通信方式的對比總結

不花時間打基礎,你將會花更多時間解決那些不必要的問題。 讀完本文你將瞭解: RPC 是什麼 IDL 是什麼 IPC 是什麼 Android 幾種進程通信方式 如何選擇這幾種通信方式 Thanks RPC 是什麼

原创 Android 進階14:源碼解讀 Android 消息機制( Message MessageQueue Handler Looper)

不要心急,一點一點的進步纔是最靠譜的。 讀完本文你將瞭解: 前言 Message 如何獲取一個消息 Message.obtain() 消息的回收利用 MessageQueue MessageQueue 的屬性 何時初

原创 2019 總結:警鐘爲誰而鳴

2018 年總結之工作篇 2017 年總結 2016 年總結 以前擅長一些遊戲,是因爲花了些時間研究技巧和規則。現在開啓了人生這場終極大作,卻很少思考其中的規則和路線,大多時候都順應內心隨波逐流,以至於現在回首 2019,對

原创 Android 框架學習1:EventBus 3.0 的特點與如何使用

前面總結了幾篇基礎,在這過程中看着別人分享自定義 View、架構或者源碼分析,看起來比我寫的“高大上”多了,內心也有點小波動。 但是自己的水平自己清楚,基礎不紮實畫再多源碼流程圖也沒什麼意思,還是老老實實打好基礎吧,技術這東西不能