Dart是一個(gè)在單線(xiàn)程中運(yùn)行的程序木张,這意味著:如果程序在執(zhí)行中遇到一個(gè)需要長(zhǎng)時(shí)間的執(zhí)行的操作稠鼻,程序?qū)?huì)被凍結(jié)捺信。為了避免造成程序的凍結(jié)刃滓,可以使用異步操作使程序在等待一個(gè)耗時(shí)操作...
![240](https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Dart是一個(gè)在單線(xiàn)程中運(yùn)行的程序木张,這意味著:如果程序在執(zhí)行中遇到一個(gè)需要長(zhǎng)時(shí)間的執(zhí)行的操作稠鼻,程序?qū)?huì)被凍結(jié)捺信。為了避免造成程序的凍結(jié)刃滓,可以使用異步操作使程序在等待一個(gè)耗時(shí)操作...
開(kāi)篇 Flutter中頁(yè)面的渲染渲染離不開(kāi)三個(gè)重要的元素:Widget、Element咧虎、RenderObject卓缰。是一個(gè)從Widget到Element再到RenderObje...
定義和用法 本文只對(duì)InheritedWidget進(jìn)行分析,需要讀者具備一些基礎(chǔ)知識(shí),包括但不限于: Flutter的基本知識(shí)征唬; Widget捌显、Element的關(guān)系 一個(gè)可以...
ARouter There is no route match the path [/xxx/xxx], in group [xxx][ ] 最近項(xiàng)目里引入了Kotlin,保...
Java并發(fā)系列番外篇——同步機(jī)制(三) 姊妹篇《Java同步機(jī)制之synchronized》姊妹篇《Java同步機(jī)制之volatile》 指兩個(gè)或兩個(gè)以上的進(jìn)程在執(zhí)行過(guò)程中...
Java并發(fā)系列番外篇——同步機(jī)制(二) Java提供了一種稍弱的同步機(jī)制鳍鸵,即volatile變量苇瓣,用來(lái)確保將更新的操作通知到其他線(xiàn)程。 姊妹篇《Java同步機(jī)制之synch...
前言 在最近的項(xiàng)目中击罪,有這樣一個(gè)需求:在RecyclerView通過(guò)ID查詢(xún)到指定Item,然后滾動(dòng)視圖到指定Item贪薪,并對(duì)視進(jìn)行呼吸燈閃爍顯示媳禁。一種快速查詢(xún)定位的需求。首選...
Java并發(fā)系列番外篇——同步機(jī)制(一) 隱式鎖画切,又稱(chēng)線(xiàn)程同步synchronized竣稽。保證在同一時(shí)刻最多只有一個(gè)線(xiàn)程執(zhí)行該段代碼 前言 在上篇文章《線(xiàn)程安全性》中,提到了J...
前言 Dart是一個(gè)真正的面向?qū)ο笳Z(yǔ)言霍弹,方法也是對(duì)象并且具有一種類(lèi)型Function毫别。 這意味著,方法可以賦值給變量典格,也可以當(dāng)做其他方法的參數(shù)岛宦。 也可以把Dart類(lèi)的實(shí)例當(dāng)做...
前言 在構(gòu)建并發(fā)程序時(shí),必須正確的使用線(xiàn)程和鎖耍缴。編寫(xiě)線(xiàn)程安全的代碼的核心在于要對(duì)狀態(tài)訪(fǎng)問(wèn)操作進(jìn)行管理砾肺,特別是對(duì)共享和可變狀態(tài)的訪(fǎng)問(wèn)。共享:變量可以由多個(gè)線(xiàn)程同時(shí)訪(fǎng)問(wèn)可變:變量...
RxDart 今年年初開(kāi)始嘗試使用Flutter開(kāi)發(fā)android APP防嗡,期間遇到了不少的坑变汪,但總算是有驚無(wú)險(xiǎn)。而在做Android原生開(kāi)發(fā)時(shí)蚁趁,RxAndroid讓代碼爽到...
前言 RxJava不僅提供了大量的操作裙盾,例如map、flatMap(相關(guān)博客)荣德,還支持自定義操作符闷煤。官方文檔給出了自定義操作符的相關(guān)建議:如果操作符是用于Observable...
前言: RxJava中提供了大量的操作符,這大大提高了了我們的開(kāi)發(fā)效率涮瞻。其中最基本的兩個(gè)變換操作符就是map和flatMap鲤拿。而其他變換操作符的原理基本與map類(lèi)似。 map...
三者的區(qū)別 先說(shuō)三個(gè)方法的區(qū)別: invalidate只會(huì)調(diào)onDraw方法且必須在UI線(xiàn)程中調(diào)用 postInvalidate只會(huì)調(diào)onDraw方法近顷,可以再UI線(xiàn)程中回調(diào) ...
通過(guò)下標(biāo)來(lái)獲取和設(shè)置元素是處理集合最常見(jiàn)的操作之一窒升,這篇文章就來(lái)學(xué)習(xí)一下kotlin中集合區(qū)間的確定缀遍。 通過(guò)下表來(lái)訪(fǎng)問(wèn)元素 在kotlin中,可以使用類(lèi)似java中的方式來(lái)訪(fǎng)...
前言 良好的編程風(fēng)格的主要原則之一是避免代碼中的任何重復(fù)饱须。如果你用過(guò)Java(8之前)編寫(xiě)代碼域醇,很可能已經(jīng)養(yǎng)成了什么東西都自己去實(shí)現(xiàn)的習(xí)慣。在Kotlin中蓉媳,我們必須糾正這一...
Platform Channel簡(jiǎn)介 Flutter引入Platform Channel機(jī)制來(lái)支持不同平臺(tái)的API調(diào)用譬挚。在Flutter中,提供了三種Platform Cha...
Flutter垂直和水平布局 所謂線(xiàn)性布局,即指沿水平或垂直方向排布子組件酪呻。Flutter中通過(guò)Row和Column來(lái)實(shí)現(xiàn)線(xiàn)性布局减宣,類(lèi)似于Android中的LinearLay...
前言 通過(guò)閱讀lambda表達(dá)式與Kotlin高階函數(shù),你應(yīng)該了解到在kotlin中傳遞lambda作為函數(shù)參數(shù)的語(yǔ)法與普通的表達(dá)式很相似玩荠。這篇文章則帶你了解lambda的運(yùn)...
沒(méi)錯(cuò)漆腌,我是這篇文章的作者,我現(xiàn)在已經(jīng)開(kāi)始否定文中的價(jià)值觀(guān)了——沒(méi)錯(cuò)阶冈,我開(kāi)始否定兩年前的我了闷尿。諷刺!
對(duì)人生意義與生命真諦的探索——這不是悲觀(guān)消極的嘆息女坑,而是好好生活的號(hào)角悠砚!人生的意義究竟是什么?無(wú)數(shù)人終其一生也找不到答案堂飞。2012年,邁入大學(xué)校門(mén)绑咱,看著雄偉的圖書(shū)館绰筛,我在心里默默的想著“我要在圖書(shū)館里...