1. 引言 在Android應(yīng)用的開(kāi)發(fā)語(yǔ)言上,是從Java再發(fā)展到Kotlin的,所以Kotlin語(yǔ)言的開(kāi)發(fā)習(xí)慣中不可避免會(huì)帶有Java的痕跡,所以很多關(guān)于Kotlin的語(yǔ)法...
1. 引言 在Android應(yīng)用的開(kāi)發(fā)語(yǔ)言上,是從Java再發(fā)展到Kotlin的,所以Kotlin語(yǔ)言的開(kāi)發(fā)習(xí)慣中不可避免會(huì)帶有Java的痕跡,所以很多關(guān)于Kotlin的語(yǔ)法...
1. 概述 函數(shù)類(lèi)型是Kotlin中有而Java中沒(méi)有的內(nèi)容,從Java轉(zhuǎn)戰(zhàn)Kotlin過(guò)程中容易忽略了函數(shù)類(lèi)型的更多作用。 本文主要闡述函數(shù)類(lèi)型對(duì)于接口冗余的優(yōu)化、語(yǔ)法糖優(yōu)...
看得仔細(xì)??感謝指正。
join和await的5點(diǎn)中,除了第4點(diǎn)明顯不同外,其他表現(xiàn)類(lèi)似相甚至相同,有所遺漏校正了……
一學(xué)就會(huì)的協(xié)程使用——基礎(chǔ)篇(六)初遇掛起1. 引言 本文主要是通過(guò)比較實(shí)用的掛起函數(shù)join和await來(lái)接觸實(shí)踐協(xié)程的掛起作用,同時(shí)本部分將會(huì)有較多的理解內(nèi)容。 2. 等待協(xié)程執(zhí)行完成 不多說(shuō),直接上代碼! 某啟...
1. 概述 KAE(kotlin-android-extensions)插件在Kotlin 1.4.20版本開(kāi)始被廢棄,視圖綁定(ViewBinding)是其遷移方案。 更多...
1. 引言 頁(yè)面在橫豎屏切換時(shí),如何更好地控制視圖和控制數(shù)據(jù)?本文目標(biāo)是針對(duì)橫豎屏切換的開(kāi)發(fā)痛點(diǎn)問(wèn)題來(lái)一波優(yōu)雅的處理方案。 其中涉及到的主要知識(shí)點(diǎn):ViewBinding、K...
1. 引言 僅知道協(xié)程中可以用CoroutineExceptionHandler來(lái)捕獲區(qū)里異常避免閃退,是遠(yuǎn)遠(yuǎn)不夠的,因?yàn)閰f(xié)程中的異常傳遞與處理部分,與協(xié)程結(jié)構(gòu)化并發(fā)部分息息...
1. 引言 如果學(xué)習(xí)使用了協(xié)程的取消和結(jié)構(gòu)化并發(fā)部分的內(nèi)容,那么協(xié)程的異常將是不得不說(shuō)的內(nèi)容。 2. 協(xié)程的取消異常 協(xié)程的取消篇當(dāng)中,涉及過(guò)的ensureActive,wi...
1. 引言 前文提及了join函數(shù),那么進(jìn)一步的便是協(xié)程中非常強(qiáng)大的結(jié)構(gòu)化并發(fā)設(shè)計(jì)了。 結(jié)構(gòu)化并發(fā)(structured concurrency)從字面上并不直觀能理解,本文...
1. 引言 本文主要是通過(guò)比較實(shí)用的掛起函數(shù)join和await來(lái)接觸實(shí)踐協(xié)程的掛起作用,同時(shí)本部分將會(huì)有較多的理解內(nèi)容。 2. 等待協(xié)程執(zhí)行完成 不多說(shuō),直接上代碼! 某啟...
1. 引言 前面已經(jīng)知道了協(xié)程作用域和協(xié)程取消的真正作用了,現(xiàn)在結(jié)合著協(xié)程作用域和withContext來(lái)再次體會(huì)下協(xié)程取消的便捷。 2. 實(shí)踐代碼說(shuō)明 本文關(guān)鍵代碼(按鈕的...
1. 引言 其實(shí),在每次啟動(dòng)協(xié)程都需要一個(gè)協(xié)程作用域?qū)ο?,在此處之前的?shí)踐代碼,用的都是GlobalScope這個(gè)單例啟動(dòng)的協(xié)程,為的是不要過(guò)早地接觸協(xié)程作用域,以至于產(chǎn)生對(duì)...
1. 引言 協(xié)程支持取消,也就是說(shuō),啟動(dòng)一個(gè)協(xié)程后而且在協(xié)程結(jié)束前已經(jīng)不希望協(xié)程再執(zhí)行代碼了,可以對(duì)協(xié)程進(jìn)行取消。 如果只知道協(xié)程的取消,而并不知道協(xié)程的取消需要代碼配合,將...
1. 切換線程執(zhí)行代碼 本文內(nèi)容很簡(jiǎn)單,主角即為withContext函數(shù)的用法! 前文介紹了怎么啟動(dòng)協(xié)程,這部分主要介紹在協(xié)程執(zhí)行過(guò)程中切換線程去執(zhí)行代碼以及效果。 上代碼...
1. 啟動(dòng)一個(gè)協(xié)程 來(lái),來(lái)啟動(dòng)第一個(gè)協(xié)程吧: 就這么簡(jiǎn)單,就可以在任意一個(gè)地方啟動(dòng)一個(gè)協(xié)程,而且這個(gè)協(xié)程必然會(huì)執(zhí)行在副線程(非主線程)當(dāng)中! 2. 簡(jiǎn)單介紹 在Java線程的...
2021年了,還不知道協(xié)程是什么? 如果還在找千萬(wàn)種理由不用協(xié)程,相信將會(huì)逐漸被時(shí)代所拋棄。 學(xué)如逆水行舟,不進(jìn)則退!所以,向前奔跑吧,騷年! 話外有音:這碗雞湯,我先干為敬...