原创 Android【Java】類加載以及對象加載淺析

前言:在目前的市面項目開發中普遍的在使用一些大牛或者團隊開源的框架可以更加保證項目產品的高效穩定迭代,比如之前說過的apk增量更新、熱修復等等。在這些框架的原理裏都沒有繞過Android的類加載這一塊,或者說也都是通過對類加載的流程做了一

原创 Android之增量更新詳解

前言:自從 Android 4.1 開始, Google Play 引入了應用程序的增量更新功能,App使用該升級方式,可節省約2/3的流量。現在國內主流的應用市場也都支持應用的增量更新了,最常見的應用寶省流量更新。 什麼是增量更新?

原创 熱修復Tinker 原理解析之資源更新

前言:之前已經在文章中對Tinker的Dex熱更新的源碼做了分析,今天接着開始對Tinker的資源熱更新做源碼的分析,廢話就不多囉嗦了直接開始正文啦。 Android tinker接入使用 tinker之dex更新詳解 tinker之so

原创 熱修復Tinker 原理解析之so更新

前言:之前已經在文章中對Tinker的Dex熱更新、資源熱更新的源碼做了分析,今天接着開始對Tinker的so熱更新做源碼的分析,廢話不多說直接出發。 Android tinker接入使用 tinker之dex更新詳解 tinker之資源

原创 熱修復Tinker 原理解析之Dex更新

前言:在之前已經梳理了微信的熱修復Tinker的接入使用流程,這麼牛逼的東西勾起了我的興趣,因此走上了探究其實現原理的道路。Tinker支持Dex、資源文件、so文件的熱更新,此次分析過程也將一步步的從這三個方面對Tinker進行源碼解析

原创 Android之Tinker集成使用

前言:當前市面上爲了實現不發新版本的前提下實現修改線上嚴重bug的目標而誕生的熱補丁方案有很多,其中比較出名的有阿里的AndFix、美團的Robust以及騰訊的Tinker等等,但是其中用的比較廣的還是騰訊的Tinker,所以在這裏我也是

原创 序列化與反序列化(Serializable與Parcelable)

前言:這幾天在考慮寫點啥筆記的時候,看到了有關於序列化的代碼 Serializable、Parcelable 接口實現,突然意識到自己很久沒關注這塊的知識了,所以又給重新整理了一下相關的內容,感覺這個東西還是很有用的。希望今天整理的這篇

原创 Git 常用命令詳解

前言:在現在的企業項目開發中大部分已經是使用Git作爲項目版本管理工具了,當然我們公司也不例外。對於我個人來說這兩年使用Git主要是通過GUI(圖形界面)實現的,比如咱們安卓中的AndroidStudio Git操作,在碰見GUI不支持的

原创 Lottie使用及源碼詳解

前言:Lottie對於我們安卓開發人員來說就是實現複雜動畫效果的神器,越來越多的項目中使用了Lottie來實現複雜好看的動畫並因此提高的動畫的開發成本和效率,當然我們的項目也開始使用Lottie了。下面這些動畫在之前看着感覺實現起來很亞歷

原创 Android中APK安裝流程解析

前言:大家都知道,手機關機以後,就是一個冰冷的磚頭,只能用來做防身的利器,但是開機後,點擊桌面上的任何一個圖片,都能開啓一個APP,這說明在開機過程中,系統把已經安裝好的APP加載到內存中,這到底是怎麼做的? 所以我們可以推斷,在安卓系統

原创 Android App啓動流程詳解

前言:在之前的文章中已經寫了apk的打包流程、安裝流程,今天就是梳理一下apk系列的最後的流程--app啓動流程。經過今天的梳理以後咱們就可以對apk包是怎麼編譯生成的、apk是怎麼被安裝到安卓手機的、用戶點擊了桌面icon以後app是怎

原创 Java線程生命週期以及方法詳解

前言:現在的操作系統在運行一個程序時, 會爲其創建一個進程。  在進程中操作系統調度的最小單元是線程, 也叫輕量級進程(Light Weight Process) , 在一個進程裏可以創建多個線程, 這些線程都擁有各自的計數器、 堆棧和局

原创 apk文件以及打包流程

前言:今天的文章挺簡單的,也是最應該在最開始寫的內容,就是簡單的說明一下apk的編譯打包流程,只是今天剛想到這個事。想要了解apk的打包流程的同學可以看看該篇文章。 .apk文件 .apk文件其實就是一個壓縮文件,把文件的後綴改成.zip

原创 Android ANR(應用無響應)

前言:在Android上,如果你的應用程序有一段時間響應不夠靈敏,系統會向用戶顯示一個對話框,這個對話框稱作應用程序無響應(ANR:Application Not Responding)對話框。用戶可以選擇“等待”而讓程序繼續運行,也可以

原创 Android可收縮/擴展的TextView(CollapsibleTextView)

前言:在某些應用中,總會遇到一些類似於公告、簡介、說明等長文本的TextView,但是爲了排版美觀等因素,我們通常是要隱藏後半部的文本,而是顯示三四行的開始部分(摘要),然後在尾部會提供用戶一個擴展/收縮的按鈕,使得文本框可以在需要的時候