240 發(fā)簡信
IP屬地:北京
  • 120
    配置debug和release不同依賴

    一、幾種依賴方式 Compile 默認(rèn)的依賴方式挣棕,任何情況下都會依賴。 Provided 只提供編譯時(shí)依賴词身,打包時(shí)不會添加進(jìn)去法严。 Apk 只在打包Apk包時(shí)依賴深啤,這個(gè)應(yīng)該是比...

  • 120
    LeakCanary 2 免初始化分析

    目錄 廢話 正題 搜索關(guān)鍵方法 初始化原理 上下文賦值流程 一些問題 0.前言 LeakCanary 不多做介紹了涡相,用過的都知道是來干嘛的催蝗,不多比比。https://squa...

  • Android應(yīng)用結(jié)構(gòu)之LiveData

    ??LiveData是一個(gè)可被觀察的數(shù)據(jù)持有者類育特。與常規(guī)的Observable不同丙号,LiveData能意識到應(yīng)用程序組件的生命周期變化,這意味著它能遵守Activity缰冤、Fr...

  • Fragment 可見性監(jiān)聽方案

    1.問題 公司app有banner 展示犬缨,后臺同學(xué)有反應(yīng)banner 埋點(diǎn)數(shù)據(jù)上報(bào)次數(shù)異常多,多達(dá)億級別棉浸,差點(diǎn)把kafaka 多給干爆了??怀薛。 banner是在Fragment...

  • 120
    Java Object Layout – Java對象的內(nèi)存布局

    在 Java 程序中,我們擁有多種新建對象的方式迷郑。除了最為常見的 new 語句之外枝恋,我們還可以通過反射機(jī)制、Object.clone 方法嗡害、反序列化以及 Unsafe.all...

  • 120
    Carson帶你學(xué)Android:自定義View基礎(chǔ)必知必會霸妹!

    前言 自定義View原理是Android開發(fā)者必須了解的基礎(chǔ)十电; 在了解自定義View之前,你需要有一定的知識儲備叹螟; 本文將全面解析關(guān)于自定義View中的所有知識基礎(chǔ)鹃骂。 Car...

  • glide已經(jīng)是異步加載了吧,有什么方法優(yōu)化recyclerview嗎

    Android圖片加載框架——Glide(Glide v4)

    前言 android中圖片加載框架有很多首妖,所有框架最終達(dá)到的目都是在Android平臺上以極度簡單的方式加載和展示圖片偎漫,如果我們每個(gè)都拿來學(xué)習(xí)和使用的話爷恳,這樣會極大的浪費(fèi)我們...

  • 類似于AOP,思路確實(shí)不錯(cuò)有缆。但是有一些感覺還是必須要在基類中處理的,比如TAG的獲取温亲,一般都會在基類中取文件名棚壁;Context也是直接獲取的。在子類中打印日志栈虚,或者使用上下文統(tǒng)一并且方便(當(dāng)然這些看似“必須的”都是和Activity無關(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類都會采用裝飾者模式泌射,封裝是要抽出共同點(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)用程序的方法蔑歌,一起來看看吧羹应! 更新內(nèi)容...

  • 問一下為什么要加鎖呢?增加和移出都是在activity生命周期里次屠,都是在主線程的呀量愧?

    Android Activity 全局管理 終極解決方案

    Android Activity 全局管理 終極解決方案 管理Activity的好處 在Android 開發(fā)中 Activity 的管理 對于一個(gè)App是至關(guān)重要的,管理所有...

  • 120
    “終于懂了” 系列:Android組件化帅矗,全面掌握偎肃!

    一、背景 隨著項(xiàng)目逐漸擴(kuò)展浑此,業(yè)務(wù)功能越來越多累颂,代碼量越來越多,開發(fā)人員數(shù)量也越來越多凛俱。此過程中紊馏,你是否有過以下煩惱? 項(xiàng)目模塊多且復(fù)雜蒲犬,編譯一次要5分鐘甚至10分鐘朱监?太慢不能...

  • 【Android架構(gòu)】基于MVP模式的Retrofit2+RXjava封裝之多Url(七)

    前言 最近好幾個(gè)朋友問我,多Url怎么處理原叮,這里我們就說說這個(gè)赫编。 【Android架構(gòu)】基于MVP模式的Retrofit2+RXjava封裝(一)[https://www.j...

  • 這叫無德初始化??
    以后清單文件里各種providers

    無侵入式獲取全局Context

    當(dāng)我們在使用第三方庫,或者自己封裝庫奋隶,如果需要需要用到Context時(shí)擂送,一般做法就是將初始化方法暴露給調(diào)用方,讓調(diào)用方在初始化類庫時(shí)唯欣,傳入Context嘹吨。 解決方案 其實(shí)無侵...

  • 120
    Android中的MVC MVP MVVM框架模式

    前言 談起MVC,MVP和MVVM這三個(gè)最耳熟能詳?shù)腁ndroid框架境氢,相信大家對它們都不陌生蟀拷,但在實(shí)際的情況下碰纬,我們很難去界定和定義MVC、MVP和MVVM问芬,從本質(zhì)上來講他...

  • 為了解決“A類的一個(gè)方法aaa的改變造成引用方法aaa的所有類的聯(lián)動(dòng)”,所以增加了一個(gè)中間層炕柔,只需要修改provider(描述了aaa的參數(shù))酌泰,而不需要修改所有聯(lián)動(dòng),看上去高大上匕累,其實(shí)在Android開發(fā)中缺少這樣的場景使用陵刹;
    而文中提到的5行代碼使用aaa,則完全是一個(gè)工廠就能解決的問題欢嘿;
    總之衰琐,在android里這么搞,除了逼格高炼蹦,沒看出來什么收益

    簡單粗暴的Dagger2使用介紹

    安卓基礎(chǔ)開發(fā)庫羡宙,讓開發(fā)簡單點(diǎn)。Demo地址:https://github.com/LJYcoder/MvpDagger 學(xué)習(xí)/參考地址:https://www.jianshu...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品