一、問(wèn)題描述 繼承RadioButton,實(shí)現(xiàn)一些自定義需求,示例: 在XML 中應(yīng)用: 然而,運(yùn)行之后,MyRadioBtn 是不響應(yīng)點(diǎn)擊事件的,點(diǎn)擊也無(wú)法進(jìn)行切換。 二、...

一、問(wèn)題描述 繼承RadioButton,實(shí)現(xiàn)一些自定義需求,示例: 在XML 中應(yīng)用: 然而,運(yùn)行之后,MyRadioBtn 是不響應(yīng)點(diǎn)擊事件的,點(diǎn)擊也無(wú)法進(jìn)行切換。 二、...
我們?cè)陂_(kāi)發(fā)Android library 時(shí),通常會(huì)打包aar。如果直接使用默認(rèn)配置的話,assemble 出來(lái)的aar 名字可能并不符合需求,比如有時(shí)會(huì)在名字中加入當(dāng)前日期...
@蘿卜土豆大西瓜 這個(gè)你可能需要遍歷每個(gè)字符所占字節(jié)數(shù)并累加,才能正確截?cái)?
EditText 最大字符數(shù)限制EditText 經(jīng)常會(huì)有限制輸入字符長(zhǎng)度的需求,限制輸入長(zhǎng)度的方法有三種: 1. 在XML 文件中設(shè)置 2. 通過(guò)InputFilter 實(shí)際上在XML 中設(shè)置,最后也是通...
問(wèn)題描述 在 macOS 平臺(tái)執(zhí)行二進(jìn)制程序時(shí),遇到 dyld: Library not loaded: xxx.dylib 錯(cuò)誤 問(wèn)題原因 二進(jìn)制中會(huì)記錄其依賴(lài)的動(dòng)態(tài)庫(kù)地址...
最近做SDK開(kāi)發(fā),有個(gè)簡(jiǎn)單的下載功能,為了方便及不增加第三方庫(kù),遂采用了系統(tǒng)的DownloadManager來(lái)處理下載任務(wù)。 官網(wǎng)的說(shuō)明: The download mana...
DataStore 是Jetpack 組件之一,是Google 開(kāi)發(fā)出來(lái)用以代替SharedPreferences 的。DataStore 是基于 Flow 實(shí)現(xiàn)的,一種新的...
ANR產(chǎn)生原因 出現(xiàn)ANR一般有以下幾種原因: KeyDispatchTimeout(常見(jiàn))input事件在5s內(nèi)沒(méi)有處理完成logcat日志關(guān)鍵字:Input event ...
當(dāng)ANR 發(fā)生時(shí),查看系統(tǒng)生成的traces 文件有助于我們定位ANR 產(chǎn)生的原因,那么我們?cè)撊绾螐氖謾C(jī)中導(dǎo)出traces 文件呢?可以使用下面的方式1. 老版本Androi...
一. 背景 ?應(yīng)用頁(yè)面的打開(kāi)速度影響著APP的用戶(hù)體驗(yàn),也是APP的性能指標(biāo)之一,任何一個(gè)成熟的APP都應(yīng)該對(duì)頁(yè)面的啟動(dòng)速度進(jìn)行監(jiān)控和優(yōu)化。 二. 相關(guān)原理 1. Activ...
一. 背景 Kotlin 已然成為Android 開(kāi)發(fā)的首推語(yǔ)言,我們以前在開(kāi)發(fā)gradle 插件時(shí),通常會(huì)使用groovy 語(yǔ)言,那么如果我們想用Kotlin 來(lái)開(kāi)發(fā)該怎么...
Mac 安裝 omyzsh 后, terminal 瞬間逼格飆升! 但是! terminal init 的時(shí)候并不會(huì)執(zhí)行~/.bash_profile、~/.bashrc 等...
rxjava2.x的Observable是不存在背壓的概念的,首先博主都沒(méi)有完全理解什么是背壓,背壓是下游控制上游流速的一種手段。在rxjava1.x的時(shí)代,上游會(huì)給下游set一個(gè)producer,下游通過(guò)producer向上游請(qǐng)求n個(gè)數(shù)據(jù),這樣上游就有記錄下游請(qǐng)求了多少個(gè)數(shù)據(jù),然后下游請(qǐng)求多少個(gè)上游就給多少個(gè),這個(gè)就是背壓。一般來(lái)講,每個(gè)節(jié)點(diǎn)都有緩存,比如說(shuō)緩存的大小是64,這個(gè)時(shí)候下游可以一次性向上游request 64個(gè)數(shù)據(jù)。rxjava1.x的有些操作符不支持背壓,也就是說(shuō)這些操作符不會(huì)給下游set一個(gè)producer,也就是上游根本不理會(huì)下游的請(qǐng)求,一直向下游丟數(shù)據(jù),如果下游的緩存爆了,那么下游就會(huì)拋出MissingBackpressureException,也就是背壓失效了。在rxjava2.x時(shí)代,上述的背壓邏輯全部挪到Flowable里了,所以說(shuō)Flowable支持背壓。而2.x時(shí)代的Observable是沒(méi)有背壓的概念的,Observable如果來(lái)不及消費(fèi)會(huì)死命的緩存直到OOM,所以rxjava2.x的官方文檔里面有講,大數(shù)據(jù)流用Flowable,小數(shù)據(jù)流用Observable
48ec44a1710a 評(píng)論自給初學(xué)者的RxJava2.0教程(五)
1. 方法一,命令 結(jié)果示例: 這個(gè)命令獲得的是當(dāng)前手機(jī)中正在活躍的Activity,這些Activity 通過(guò)最近任務(wù)點(diǎn)擊可以直接顯示內(nèi)容。 2. 方法二,命令 結(jié)果示例:...
最后的圖,在下認(rèn)為是不正確的,StatusGuard 跟NavigationGuard都是單獨(dú)的window,他不是在App或者Activity的Window里的