在技術(shù)學(xué)習(xí)的道路上,往往最常見、用的最多地方,卻有著容易忽略的技術(shù)細(xì)節(jié)。某個(gè)時(shí)間點(diǎn)驀然回首,才發(fā)現(xiàn)最應(yīng)該了解和掌握的技術(shù)基礎(chǔ),卻由于缺少總結(jié)和記...
前些天,有人問到 “開發(fā)過程中常見的內(nèi)存泄漏都有哪些?”,一時(shí)脫口而出:靜態(tài)的對(duì)象中(包括單例)持有一個(gè)生命周期較短的引用時(shí),或內(nèi)部類的子代碼塊...
安卓平臺(tái)的動(dòng)態(tài)加載原理,本質(zhì)其實(shí)還是利用java相關(guān)知識(shí)實(shí)現(xiàn)。然而java語言中,開發(fā)人員能通過程序進(jìn)行動(dòng)態(tài)操作class的,主要是字節(jié)碼生成和...
安卓開發(fā)技術(shù)發(fā)展到現(xiàn)在已經(jīng)非常成熟,有很多的技術(shù)專項(xiàng)如插件,熱修,加固,瘦身,性能優(yōu)化,自動(dòng)化測(cè)試等已經(jīng)在業(yè)界有了完善的或者開源的解決方案。作為...
APK瘦身實(shí)戰(zhàn) 資源自定義7z壓縮 項(xiàng)目開發(fā)中,隨著業(yè)務(wù)的增長(zhǎng),常常需要在apk編譯階段對(duì)包代碼或是資源做一定的自定義修改,比如熱修復(fù),插件生成...
這里主要講的Hook,是利用java上的動(dòng)態(tài)代理實(shí)現(xiàn)替換系統(tǒng)某個(gè)類,在方法調(diào)用過程中,利用反射,插入自己代碼邏輯的一種方式。 安卓插件化學(xué)習(xí) H...
Binder是android系統(tǒng)特有IPC方式,安卓平臺(tái)中的各種服務(wù)交互基本都是Binder機(jī)制實(shí)現(xiàn),理解和掌握Binder機(jī)制的實(shí)現(xiàn)原理可有效...
現(xiàn)在安卓插件化已經(jīng)很成熟,可以直接用別人開源的框架實(shí)現(xiàn)自己項(xiàng)目,但是學(xué)習(xí)插件化的實(shí)現(xiàn)原理是安卓研發(fā)工程師加深安卓系統(tǒng)理解的很好途徑。 安卓插件化...
Java平臺(tái)的反射機(jī)制是代碼動(dòng)態(tài)加載和調(diào)用的基本途徑,在安卓系統(tǒng)源碼中也用到了大量的反射動(dòng)態(tài)加載類。反射也是安卓平臺(tái)插件化實(shí)現(xiàn)的必要掌握的基礎(chǔ)知...