這兩天在看Android65535方法數(shù)的解決方法,遇到了些Apk安裝過(guò)程的疑惑,于是決定好好學(xué)習(xí)下Android Apk安裝過(guò)程,特此記錄样刷。本文以Android5.0的源碼...
這兩天在看Android65535方法數(shù)的解決方法,遇到了些Apk安裝過(guò)程的疑惑,于是決定好好學(xué)習(xí)下Android Apk安裝過(guò)程,特此記錄样刷。本文以Android5.0的源碼...
Hugo 在前文Android AspectJ詳解中,我們了解了AspectJ的使用場(chǎng)景沃疮、特點(diǎn)和基本語(yǔ)法盒让,這篇將從沃神開(kāi)源的Hugo項(xiàng)目實(shí)戰(zhàn)分析AspectJ的用法,加深對(duì)A...
關(guān)于 Gradle 的基本知識(shí),前面章節(jié)已經(jīng)講的差不多了俊啼。那么肺缕,我們現(xiàn)在來(lái)牛刀小試一下,看看 Gradle 有什么用武之地。 我們?cè)趯?Android 應(yīng)用程序打包成 apk...
Gradle 進(jìn)行構(gòu)建同木,都要經(jīng)過(guò)3個(gè)生命周期階段: 初始化階段 配置階段 執(zhí)行階段 Gradle 提供了很多生命周期監(jiān)聽(tīng)方法浮梢,可以在各個(gè)階段 Hook 指定的任務(wù)。 1. P...
第一次看到 NamedDomainObjectContainer 的時(shí)候彤路,讓我迷惑了好一陣子秕硝,這到底是個(gè)什么玩意?現(xiàn)在讓我們來(lái)揭開(kāi)它神秘的面紗洲尊,看看它到底是什么远豺,有什么作用。...
前面我們已經(jīng)詳細(xì)講解了 Gradle 的 Task坞嘀、Project 等基本用法躯护,現(xiàn)在我們還要學(xué)習(xí)一個(gè)很重要的概念 Extension,它在 Gradle 中幾乎隨處可見(jiàn)丽涩,特別...
前面通過(guò)很多范例講了在 build.gradle 中怎么創(chuàng)建 Task内狸,但是 Task 到底是個(gè)什么東西检眯,它里面有些什么,我們并不清楚昆淡,本文試圖揭開(kāi) Task 神秘的面紗锰瘸。 ...
前言 在Android開(kāi)發(fā)中,限制按鈕快速點(diǎn)擊(按鈕防抖)是一個(gè)常見(jiàn)的需求昂灵; 在這篇文章里避凝,我將介紹一種使用AspectJ的方法,基于注解處理器 & 運(yùn)行時(shí)注解反射的原理眨补。如...
前言 AspectJ 是一個(gè)流行的 Java AOP(aspect-oriented programming)編程擴(kuò)展框架管削,基于注解處理器 & 運(yùn)行時(shí)注解反射的原理。 在這篇...
前言 前幾篇文章遏弱,筆者分別講述了DecorView,measure塞弊,layout流程等漱逸,接下來(lái)將詳細(xì)分析三大工作流程的最后一個(gè)流程——繪制流程泪姨。測(cè)量流程決定了View的大小,...
Activity mActivity =new Activity() 作為Android開(kāi)發(fā)者,不知道你有沒(méi)有思考過(guò)這個(gè)問(wèn)題循集,Activity可以new嗎唇敞?Android的應(yīng)...
fragment 基本上是每個(gè)項(xiàng)目都會(huì)用到蔗草,一般我們會(huì)這么寫(xiě): 但是有時(shí)候會(huì)報(bào)如下錯(cuò)誤信息: 意思就是說(shuō)我們不能在調(diào)用onSaveInstanceState進(jìn)行commit操...
LayoutInflater筆記雜談 在初學(xué)Android的時(shí)候咒彤,學(xué)到Fragment知識(shí)點(diǎn),一些教程里面都在講:“Inflate的時(shí)候咒精,要把最后一個(gè)參數(shù)設(shè)置成false镶柱,暫...
目錄 引言:Html加載流程 加載流程各節(jié)點(diǎn)耗時(shí)分析優(yōu)化 加載流程結(jié)構(gòu)優(yōu)化 客戶(hù)端優(yōu)化 Html加載流程 創(chuàng)建并初始化WebView 下載網(wǎng)頁(yè)所需資源文件 渲染展示網(wǎng)頁(yè) 加載...