![240](https://cdn2.jianshu.io/assets/default_avatar/12-aeeea4bedf10f2a12c0d50d626951489.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Window的簡(jiǎn)單使用 應(yīng)用Window層級(jí)分為1-99 蹂楣,子window層級(jí)范圍是1000-1999番枚,系統(tǒng)window層級(jí)范圍是2000-2999.通過(guò)一下代碼設(shè)置: 需要...
在項(xiàng)目開發(fā)過(guò)程中许溅,隨著業(yè)務(wù)與人員的增加嚼隘,如果沒有提前使用合理的架構(gòu)寄月,代碼會(huì)變得越來(lái)越臃腫辜膝,功能耦合性也越來(lái)越高。為了代碼的質(zhì)量漾肮,這時(shí)候我們需要對(duì)工程進(jìn)行重構(gòu)厂抖。 比較簡(jiǎn)單的重構(gòu)...
簡(jiǎn)介 注解處理器(Annotation Processor)是javac內(nèi)置的一個(gè)用于編譯時(shí)掃描和處理注解(Annotation)的工具。也就是說(shuō)克懊,在編譯階段我們就可以獲取到...
1.IO文件讀取 IO流類圖 分類 按照讀取數(shù)據(jù)類型不同分為字節(jié)流和字符流按照數(shù)據(jù)流向不同分為輸入流和```輸出流 常用方式 字節(jié)流FileInputStream 和 Fil...
Handler簡(jiǎn)單使用 1.使用靜態(tài)內(nèi)部類的方式繼承Handler并重寫接受的方法handleMessage忱辅。之所以使用靜態(tài)內(nèi)部類,是因?yàn)殪o態(tài)內(nèi)部類不會(huì)持有外部類的引用 2....
Glide生命周期的原理 Glide.with有很多重載方法: 其中g(shù)etRetriever方法是獲取RequestManagerRetriever對(duì)象谭溉,然后調(diào)用Get方法墙懂。...
1.引入工程 Android Studio中引入工程,只需要在gradle中配置一下代碼 2.配置基礎(chǔ)項(xiàng) Glide中需要在AppGlideModule的實(shí)現(xiàn)中完成基礎(chǔ)項(xiàng)的配...
問(wèn)題 1.一張圖在手機(jī)內(nèi)存中占有多大扮念?2.如何優(yōu)化圖片大兴鸢帷?3.大圖如何展示,比如世界地圖?4.Drawable存放位置有什么區(qū)別柜与? 為什么要優(yōu)化Bitmap巧勤? Bitmap...
LruCache 內(nèi)存緩存 LruCache基本使用 LruCache是如何實(shí)現(xiàn)最優(yōu)算法的 LruCache類第一行我們就可以知道原來(lái)LruCache是通過(guò)LinkedHas...
介紹 LiveData 是一種持有可被觀察數(shù)據(jù)的類(an observable data holder class)。和其他可被觀察的類不同的是弄匕,LiveData是有生命周期...
介紹 Room 持久層庫(kù)提供了一個(gè)方便我們?cè)L問(wèn) SQLite 數(shù)據(jù)庫(kù)的抽象層(an abstraction layer )颅悉,幫助我們更好的在 APP 上創(chuàng)建我們的數(shù)據(jù)緩存,能...
Lifecycle 組件指的是 android.arch.lifecycle 包下提供的各種類與接口迁匠,可以讓開發(fā)者構(gòu)建能感知其他組件(主要指Activity 剩瓶、Fragmen...
創(chuàng)建一個(gè)Android Studio工程默認(rèn)情況下有三個(gè)gradle文件: 1.setting.gradle 2.根目錄下build.gradle 3.app module目...
gradle插件分為兩種秕脓,一種是腳本插件,一種是對(duì)象插件儒搭。 腳本插件:腳本插件就是一個(gè)普通的xxx.gradle文件吠架,通過(guò)在xxx.gradle定義一系列task,在另一個(gè)g...
通過(guò)task字段定義一個(gè)task搂鲫,代碼如下: 定義好了我們執(zhí)行以下 輸出日志: 可以看出通過(guò)這種方式定義的task在配置的階段就會(huì)執(zhí)行傍药。也就是說(shuō)每次執(zhí)行一個(gè)task,改代碼都...