在上一篇的時候,我們講解了怎么做一個登錄界面,但是之后呢?完全是草草結(jié)尾的感覺嘛,這不,接下來就是給大家詳細(xì)說說,這個登錄里面不得鳥的故事。先來看一個登錄的過程~~ 分析 可...
在上一篇的時候,我們講解了怎么做一個登錄界面,但是之后呢?完全是草草結(jié)尾的感覺嘛,這不,接下來就是給大家詳細(xì)說說,這個登錄里面不得鳥的故事。先來看一個登錄的過程~~ 分析 可...
目錄1、Gradle插件2、Transform3、ASM4、應(yīng)用-防止快速點擊的插件 1、Gradle插件 1.1、Gradle插件是什么? Gradle插件打包了可重用的構(gòu)...
斷點調(diào)試是閱讀源碼的一種好方法,能便于理解應(yīng)用的執(zhí)行流程,下面介紹如何在AS中調(diào)試Android Build Tool代碼的方法。 1. 開啟Gradle調(diào)試 網(wǎng)上方案比較雜...
對于初學(xué)者來說,面對各種各樣的Gradle構(gòu)建腳本,想要梳理它的構(gòu)建流程,往往不知道從何入手。Gradle的構(gòu)建過程有著固定的生命周期,理解Gradle的生命周期和Hook點...
前言 在平時開發(fā)中,你有沒有下面這樣的困擾呢? 場景一 明明是服務(wù)端的接口數(shù)據(jù)錯誤,而QA(測試)第一個找到的可能是客戶端開發(fā)的你,為什么這個頁面出現(xiàn)錯誤了? 而作為客戶端開...
前言 對于Android開發(fā),干上幾年后,都要進(jìn)階,或者直接轉(zhuǎn)行了。如果你還在干Android,想要進(jìn)階 對Framework的了解是必不可少的過程,下面就開始進(jìn)入今天的主題...
前言 很多人都是年底才開始寫總結(jié),而我還不太一樣,因為我是11月初參加工作的,所以每年到這個時候就會寫總結(jié)。 之前的總結(jié)都是放到了我的云筆記了,由于今年7月份開始寫博客,所以...
前言 今天一個朋友去面試,被問到 為什么Loop 死循環(huán)而不阻塞UI線程? 為什么子線程不能更新UI?是不是子線程一定不可以更新UI? SurfaceView是為什么可以直接...
硬件加速,直觀上說就是依賴GPU實現(xiàn)圖形繪制加速,軟硬件加速的區(qū)別主要是圖形的繪制究竟是GPU來處理還是CPU,如果是GPU,就認(rèn)為是硬件加速繪制,反之,軟件繪制。在Andr...
背景 在很多公司測試環(huán)境使用的是內(nèi)網(wǎng)測試,我們公司也是。 但是我們有點扯的是內(nèi)網(wǎng)的域名沒有配置內(nèi)網(wǎng)域名解析,必須手動配置hosts才可以正常訪問測試環(huán)境的域名。如下: 所以在...
前言 Gradle 是將軟件編譯、測試、部署等步驟聯(lián)系在一起自動化構(gòu)建工具。對于Android開發(fā)人員已經(jīng)了解build.gradle 的 android{} 和 depen...
背景 前段時間的一個周末,一個女生讓我?guī)退龘Q一下他的證件照背景,我又沒帶電腦。我又不好意思拒接,怎么辦呢?應(yīng)用商店下載一個證件照換背景的APP,瞬間換完,我正準(zhǔn)備保存時,跳出...
序言 本篇文章是代碼擼彩妝的第二篇, 主要介紹在Android上怎么進(jìn)行圖片的局部變形,并實現(xiàn)抖音上比較火的大眼,瘦臉,大長腿特效. 在開始之前我們先來回顧上一篇的主要內(nèi)容....
導(dǎo)讀: 數(shù)據(jù)是最基本的數(shù)據(jù)結(jié)構(gòu),能解決很多問題,比如常見的,求解,使用數(shù)組來解決重復(fù)遞歸過程,動態(tài)規(guī)劃使用數(shù)組記錄最近解過程中的各個步驟的解。今天我們用幾個常見的面試題來談一...
導(dǎo)讀: 本文使用代碼擼一個你心目中的“女神”,代碼上彩妝。技術(shù)主要內(nèi)容是Canvas的應(yīng)用. 背景 最近刷抖音,看到一些大漢變“女神”,這化妝可以稱之為逆襲啊,大漢變蘿莉. ...
導(dǎo)讀:這是在今年項目體積優(yōu)化時,記錄的一些實戰(zhàn)筆記,文中主要針對APK的包內(nèi)容優(yōu)化.其中優(yōu)化手段主要有:字節(jié)碼,資源,打包配置等優(yōu)化手段. 前言 移動網(wǎng)絡(luò)從2G->4G->5...
背景 對于Android開發(fā),在面試的時候,經(jīng)常會被問到,說一說View的繪制流程?我也經(jīng)常問面試者,View的繪制流程. 對于3年以上的開發(fā)人員來說,就知道onMeasur...