一睡陪、幾種依賴方式 Compile 默認(rèn)的依賴方式寺渗,任何情況下都會(huì)依賴匿情。 Provided 只提供編譯時(shí)依賴,打包時(shí)不會(huì)添加進(jìn)去信殊。 Apk 只在打包Apk包時(shí)依賴炬称,這個(gè)應(yīng)該是比...
一睡陪、幾種依賴方式 Compile 默認(rèn)的依賴方式寺渗,任何情況下都會(huì)依賴匿情。 Provided 只提供編譯時(shí)依賴,打包時(shí)不會(huì)添加進(jìn)去信殊。 Apk 只在打包Apk包時(shí)依賴炬称,這個(gè)應(yīng)該是比...
目錄 廢話 正題 搜索關(guān)鍵方法 初始化原理 上下文賦值流程 一些問題 0.前言 LeakCanary 不多做介紹了,用過的都知道是來(lái)干嘛的涡拘,不多比比玲躯。https://squa...
??LiveData是一個(gè)可被觀察的數(shù)據(jù)持有者類。與常規(guī)的Observable不同鳄乏,LiveData能意識(shí)到應(yīng)用程序組件的生命周期變化跷车,這意味著它能遵守Activity、Fr...
1.問題 公司app有banner 展示橱野,后臺(tái)同學(xué)有反應(yīng)banner 埋點(diǎn)數(shù)據(jù)上報(bào)次數(shù)異常多朽缴,多達(dá)億級(jí)別,差點(diǎn)把kafaka 多給干爆了??水援。 banner是在Fragment...
在 Java 程序中密强,我們擁有多種新建對(duì)象的方式茅郎。除了最為常見的 new 語(yǔ)句之外,我們還可以通過反射機(jī)制或渤、Object.clone 方法系冗、反序列化以及 Unsafe.all...
前言 自定義View原理是Android開發(fā)者必須了解的基礎(chǔ); 在了解自定義View之前池磁,你需要有一定的知識(shí)儲(chǔ)備涝开; 本文將全面解析關(guān)于自定義View中的所有知識(shí)基礎(chǔ)。 Car...
glide已經(jīng)是異步加載了吧框仔,有什么方法優(yōu)化recyclerview嗎
Android圖片加載框架——Glide(Glide v4)前言 android中圖片加載框架有很多舀武,所有框架最終達(dá)到的目都是在Android平臺(tái)上以極度簡(jiǎn)單的方式加載和展示圖片,如果我們每個(gè)都拿來(lái)學(xué)習(xí)和使用的話离斩,這樣會(huì)極大的浪費(fèi)我們...
類似于AOP,思路確實(shí)不錯(cuò)银舱。但是有一些感覺還是必須要在基類中處理的,比如TAG的獲取跛梗,一般都會(huì)在基類中取文件名寻馏;Context也是直接獲取的。在子類中打印日志核偿,或者使用上下文統(tǒng)一并且方便(當(dāng)然這些看似“必須的”都是和Activity無(wú)關(guān)的诚欠,有關(guān)的當(dāng)然都可以移到ActivityLifecycleCallbacks中去):
mActivity = this;
mContext = this;
TAG = this.getClass().getSimpleName();
BaseActivity是頂層封裝,就像java里的io類一樣漾岳,BaseActvity根本不可能只存在一個(gè)轰绵,稍微有點(diǎn)java基礎(chǔ)的設(shè)計(jì)base類都會(huì)采用裝飾者模式,封裝是要抽出共同點(diǎn)尼荆,而不是寫一個(gè)極其龐大且臃腫的base類左腔,基本高明的流程是這樣的,base抽象通用接口捅儒,各司其職的baseActivity繼承上層base或抽象接口給下層base
問一下為什么要加鎖呀液样?
Android退出應(yīng)用程序方法總結(jié)在Android開發(fā)中,我們運(yùn)行了應(yīng)用程序后巧还,都需要退出應(yīng)用的鞭莽,那么該如何退出應(yīng)用,又都有哪些實(shí)現(xiàn)方式呢麸祷?今天就為大家整理分享一些退出應(yīng)用程序的方法澎怒,一起來(lái)看看吧! 更新內(nèi)容...
問一下為什么要加鎖呢摇锋?增加和移出都是在activity生命周期里丹拯,都是在主線程的呀站超?
Android Activity 全局管理 終極解決方案Android Activity 全局管理 終極解決方案 管理Activity的好處 在Android 開發(fā)中 Activity 的管理 對(duì)于一個(gè)App是至關(guān)重要的,管理所有...
一、背景 隨著項(xiàng)目逐漸擴(kuò)展咬像,業(yè)務(wù)功能越來(lái)越多算撮,代碼量越來(lái)越多,開發(fā)人員數(shù)量也越來(lái)越多县昂。此過程中肮柜,你是否有過以下煩惱? 項(xiàng)目模塊多且復(fù)雜倒彰,編譯一次要5分鐘甚至10分鐘审洞?太慢不能...
前言 最近好幾個(gè)朋友問我,多Url怎么處理待讳,這里我們就說(shuō)說(shuō)這個(gè)芒澜。 【Android架構(gòu)】基于MVP模式的Retrofit2+RXjava封裝(一)[https://www.j...
這叫無(wú)德初始化??
以后清單文件里各種providers
無(wú)侵入式獲取全局Context當(dāng)我們?cè)谑褂玫谌綆?kù),或者自己封裝庫(kù)创淡,如果需要需要用到Context時(shí)痴晦,一般做法就是將初始化方法暴露給調(diào)用方,讓調(diào)用方在初始化類庫(kù)時(shí)琳彩,傳入Context誊酌。 解決方案 其實(shí)無(wú)侵...
前言 談起MVC,MVP和MVVM這三個(gè)最耳熟能詳?shù)腁ndroid框架露乏,相信大家對(duì)它們都不陌生碧浊,但在實(shí)際的情況下,我們很難去界定和定義MVC施无、MVP和MVVM辉词,從本質(zhì)上來(lái)講他...
為了解決“A類的一個(gè)方法aaa的改變?cè)斐梢梅椒╝aa的所有類的聯(lián)動(dòng)”兴想,所以增加了一個(gè)中間層,只需要修改provider(描述了aaa的參數(shù))赡勘,而不需要修改所有聯(lián)動(dòng)嫂便,看上去高大上,其實(shí)在Android開發(fā)中缺少這樣的場(chǎng)景使用闸与;
而文中提到的5行代碼使用aaa毙替,則完全是一個(gè)工廠就能解決的問題岸售;
總之,在android里這么搞厂画,除了逼格高凸丸,沒看出來(lái)什么收益
簡(jiǎn)單粗暴的Dagger2使用介紹安卓基礎(chǔ)開發(fā)庫(kù),讓開發(fā)簡(jiǎn)單點(diǎn)袱院。Demo地址:https://github.com/LJYcoder/MvpDagger 學(xué)習(xí)/參考地址:https://www.jianshu...