Dart是一個(gè)在單線程中運(yùn)行的程序,這意味著:如果程序在執(zhí)行中遇到一個(gè)需要長時(shí)間的執(zhí)行的操作,程序?qū)?huì)被凍結(jié)。為了避免造成程序的凍結(jié),可以使用異步操作使程序在等待一個(gè)耗時(shí)操作...

Dart是一個(gè)在單線程中運(yùn)行的程序,這意味著:如果程序在執(zhí)行中遇到一個(gè)需要長時(shí)間的執(zhí)行的操作,程序?qū)?huì)被凍結(jié)。為了避免造成程序的凍結(jié),可以使用異步操作使程序在等待一個(gè)耗時(shí)操作...
開篇 Flutter中頁面的渲染渲染離不開三個(gè)重要的元素:Widget、Element、RenderObject。是一個(gè)從Widget到Element再到RenderObje...
定義和用法 本文只對InheritedWidget進(jìn)行分析,需要讀者具備一些基礎(chǔ)知識,包括但不限于: Flutter的基本知識; 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í)行過程中...
Java并發(fā)系列番外篇——同步機(jī)制(二) Java提供了一種稍弱的同步機(jī)制,即volatile變量,用來確保將更新的操作通知到其他線程。 姊妹篇《Java同步機(jī)制之synch...
前言 在最近的項(xiàng)目中,有這樣一個(gè)需求:在RecyclerView通過ID查詢到指定Item,然后滾動(dòng)視圖到指定Item,并對視進(jìn)行呼吸燈閃爍顯示。一種快速查詢定位的需求。首選...
Java并發(fā)系列番外篇——同步機(jī)制(一) 隱式鎖,又稱線程同步synchronized。保證在同一時(shí)刻最多只有一個(gè)線程執(zhí)行該段代碼 前言 在上篇文章《線程安全性》中,提到了J...
前言 Dart是一個(gè)真正的面向?qū)ο笳Z言,方法也是對象并且具有一種類型Function。 這意味著,方法可以賦值給變量,也可以當(dāng)做其他方法的參數(shù)。 也可以把Dart類的實(shí)例當(dāng)做...
前言 在構(gòu)建并發(fā)程序時(shí),必須正確的使用線程和鎖。編寫線程安全的代碼的核心在于要對狀態(tài)訪問操作進(jìn)行管理,特別是對共享和可變狀態(tài)的訪問。共享:變量可以由多個(gè)線程同時(shí)訪問可變:變量...
RxDart 今年年初開始嘗試使用Flutter開發(fā)android APP,期間遇到了不少的坑,但總算是有驚無險(xiǎn)。而在做Android原生開發(fā)時(shí),RxAndroid讓代碼爽到...
前言 RxJava不僅提供了大量的操作,例如map、flatMap(相關(guān)博客),還支持自定義操作符。官方文檔給出了自定義操作符的相關(guān)建議:如果操作符是用于Observable...
前言: RxJava中提供了大量的操作符,這大大提高了了我們的開發(fā)效率。其中最基本的兩個(gè)變換操作符就是map和flatMap。而其他變換操作符的原理基本與map類似。 map...
三者的區(qū)別 先說三個(gè)方法的區(qū)別: invalidate只會(huì)調(diào)onDraw方法且必須在UI線程中調(diào)用 postInvalidate只會(huì)調(diào)onDraw方法,可以再UI線程中回調(diào) ...
通過下標(biāo)來獲取和設(shè)置元素是處理集合最常見的操作之一,這篇文章就來學(xué)習(xí)一下kotlin中集合區(qū)間的確定。 通過下表來訪問元素 在kotlin中,可以使用類似java中的方式來訪...
前言 良好的編程風(fēng)格的主要原則之一是避免代碼中的任何重復(fù)。如果你用過Java(8之前)編寫代碼,很可能已經(jīng)養(yǎng)成了什么東西都自己去實(shí)現(xiàn)的習(xí)慣。在Kotlin中,我們必須糾正這一...
Platform Channel簡介 Flutter引入Platform Channel機(jī)制來支持不同平臺的API調(diào)用。在Flutter中,提供了三種Platform Cha...
Flutter垂直和水平布局 所謂線性布局,即指沿水平或垂直方向排布子組件。Flutter中通過Row和Column來實(shí)現(xiàn)線性布局,類似于Android中的LinearLay...
前言 通過閱讀lambda表達(dá)式與Kotlin高階函數(shù),你應(yīng)該了解到在kotlin中傳遞lambda作為函數(shù)參數(shù)的語法與普通的表達(dá)式很相似。這篇文章則帶你了解lambda的運(yùn)...
沒錯(cuò),我是這篇文章的作者,我現(xiàn)在已經(jīng)開始否定文中的價(jià)值觀了——沒錯(cuò),我開始否定兩年前的我了。諷刺!
對人生意義與生命真諦的探索——這不是悲觀消極的嘆息,而是好好生活的號角!人生的意義究竟是什么?無數(shù)人終其一生也找不到答案。2012年,邁入大學(xué)校門,看著雄偉的圖書館,我在心里默默的想著“我要在圖書館里...