Gradle abi 分包設(shè)置: 打包輸出不同名稱的apk包:
DataBinding的意義: 讓布局文件承擔(dān)了部分原本屬于頁面的工作,使頁面與布局耦合度進(jìn)一步降低 DataBinding使用: build.gradle中配置 布局文件:...
LiveData和ViewModel的關(guān)系 在ViewModel中的數(shù)據(jù)發(fā)生變化是通知頁面image.png當(dāng)ViewModel數(shù)據(jù)發(fā)生變化通過LiveData通知View數(shù)...
ViewModel的誕生: 瞬態(tài)數(shù)據(jù)丟失 異步調(diào)用的內(nèi)存泄漏 類膨脹提高維護(hù)難度和測(cè)試難度 ViewModel的作用: 它是介于View(視圖)和Model(數(shù)據(jù)模型)之間的...
有人說,人生的很多不順?biāo)觳蝗缫猓皇悄氵\(yùn)氣不好,不是你機(jī)會(huì)不夠,不是社會(huì)殘酷,而是你自己放棄了努力,你想要的生活才會(huì)變得離你越來越遠(yuǎn)。 想想自己,是不是想改變卻一直在觀望?是...
使用RecyclerView一次性加載100條數(shù)據(jù),頁面出現(xiàn)卡頓 原布局外部套用了NestedScrollView +LinearLayout 解決方案: RecyclerV...
對(duì)于一個(gè)創(chuàng)建的協(xié)程(通過launch或者async),會(huì)返回一個(gè)Job實(shí)例,該實(shí)例是協(xié)程的唯一標(biāo)示,并且負(fù)責(zé)管理協(xié)程的生命周期 一個(gè)任務(wù)可以包含一系列狀態(tài):新創(chuàng)建(New)、...
取消作用域會(huì)取消它的子協(xié)程。 被取消的子協(xié)程并不會(huì)影響其余兄弟協(xié)程。 協(xié)程通過拋出一個(gè)特殊的異常CancellationException來處理取消操作。 所有kotlinx...
CoroutineContext是一組用于定義協(xié)程行為的元素 Job:控制協(xié)程的生命周期 CoroutineDispatcher:向合適的線程分發(fā)任務(wù) CoroutineNa...