Dart是一个在单线程中运行的程序,这意味着:如果程序在执行中遇到一个需要长时间的执行的操作,程序将会被冻结。为了避免造成程序的冻结,可以使用异步操作使程序在等待一个耗时操作...
Dart是一个在单线程中运行的程序,这意味着:如果程序在执行中遇到一个需要长时间的执行的操作,程序将会被冻结。为了避免造成程序的冻结,可以使用异步操作使程序在等待一个耗时操作...
开篇 Flutter中页面的渲染渲染离不开三个重要的元素:Widget、Element、RenderObject。是一个从Widget到Element再到RenderObje...
定义和用法 本文只对InheritedWidget进行分析,需要读者具备一些基础知识,包括但不限于: Flutter的基本知识; Widget、Element的关系 一个可以...
ARouter There is no route match the path [/xxx/xxx], in group [xxx][ ] 最近项目里引入了Kotlin,保...
Java并发系列番外篇——同步机制(三) 姊妹篇《Java同步机制之synchronized》姊妹篇《Java同步机制之volatile》 指两个或两个以上的进程在执行过程中...
Java并发系列番外篇——同步机制(二) Java提供了一种稍弱的同步机制,即volatile变量,用来确保将更新的操作通知到其他线程。 姊妹篇《Java同步机制之synch...
前言 在最近的项目中,有这样一个需求:在RecyclerView通过ID查询到指定Item,然后滚动视图到指定Item,并对视进行呼吸灯闪烁显示。一种快速查询定位的需求。首选...
Java并发系列番外篇——同步机制(一) 隐式锁,又称线程同步synchronized。保证在同一时刻最多只有一个线程执行该段代码 前言 在上篇文章《线程安全性》中,提到了J...
前言 Dart是一个真正的面向对象语言,方法也是对象并且具有一种类型Function。 这意味着,方法可以赋值给变量,也可以当做其他方法的参数。 也可以把Dart类的实例当做...
前言 在构建并发程序时,必须正确的使用线程和锁。编写线程安全的代码的核心在于要对状态访问操作进行管理,特别是对共享和可变状态的访问。共享:变量可以由多个线程同时访问可变:变量...
RxDart 今年年初开始尝试使用Flutter开发android APP,期间遇到了不少的坑,但总算是有惊无险。而在做Android原生开发时,RxAndroid让代码爽到...
前言 RxJava不仅提供了大量的操作,例如map、flatMap(相关博客),还支持自定义操作符。官方文档给出了自定义操作符的相关建议:如果操作符是用于Observable...
前言: RxJava中提供了大量的操作符,这大大提高了了我们的开发效率。其中最基本的两个变换操作符就是map和flatMap。而其他变换操作符的原理基本与map类似。 map...
三者的区别 先说三个方法的区别: invalidate只会调onDraw方法且必须在UI线程中调用 postInvalidate只会调onDraw方法,可以再UI线程中回调 ...
通过下标来获取和设置元素是处理集合最常见的操作之一,这篇文章就来学习一下kotlin中集合区间的确定。 通过下表来访问元素 在kotlin中,可以使用类似java中的方式来访...
前言 良好的编程风格的主要原则之一是避免代码中的任何重复。如果你用过Java(8之前)编写代码,很可能已经养成了什么东西都自己去实现的习惯。在Kotlin中,我们必须纠正这一...
Platform Channel简介 Flutter引入Platform Channel机制来支持不同平台的API调用。在Flutter中,提供了三种Platform Cha...
Flutter垂直和水平布局 所谓线性布局,即指沿水平或垂直方向排布子组件。Flutter中通过Row和Column来实现线性布局,类似于Android中的LinearLay...
前言 通过阅读lambda表达式与Kotlin高阶函数,你应该了解到在kotlin中传递lambda作为函数参数的语法与普通的表达式很相似。这篇文章则带你了解lambda的运...
没错,我是这篇文章的作者,我现在已经开始否定文中的价值观了——没错,我开始否定两年前的我了。讽刺!
对人生意义与生命真谛的探索——这不是悲观消极的叹息,而是好好生活的号角!人生的意义究竟是什么?无数人终其一生也找不到答案。2012年,迈入大学校门,看着雄伟的图书馆,我在心里默默的想着“我要在图书馆里...