Kotlin是多范式通用编程语言,对面向对象编程(OOP)自然也提供了全方位的支持。通过先前一篇文章,学习了使用Kotlin进行基本面向对象编程的方法,本文将在前文基础之上继续深入的学习面向对象编程的高级特性,以能够写出更加符合OO的代码,并能够从容应对一些复杂的OOP场景。
专家之路上的Flow高级秘籍
『君不见,黄河之水天上来,奔流到海不复回。』
学习与河流一样,一方面学无止境,又是逆水行舟,不进则退,因为其他人都在卷。前文一篇文章讲了Flow的基础,大多数情况下够用了,但是不能停止卷,因为你不卷,就会被别人卷。一旦涉及到复杂的应用场景,就需要用到一些高级的API。今天就来学习一下Flow的高级特性,当遇到问题时也能更从容的应对。
包教包会的Kotlin Flow教程
Kotlin中的Flow是专门用于处理异步数据流的API,是函数响应式编程范式(Functional Reactive Programming FRP)在Kotlin上的一个实现,并且深度融合了Kotlin的协程。是Kotlin中处理异步数据流问题的首先方案。今天就来认识一下Flow并学会如何使用它。
Kotlin进阶之协程从上车到起飞
通过前面的一篇文章我们理解了协程的基本概念,学会协程的基本使用方法,算是正式入门了,接下来就是要深入的学习技术细节和高级使用方法,以期完全掌握Kotlin协程并能熟练的正确的使用协程,发挥出协程应有的并发编程能力。
Kotlin进阶之协程从入门到放弃
协程Coroutine是最新式的并发编程范式,它是纯编程语言层面的东西,不受制于操作系统,轻量级,易于控制,结构严谨,不易出错,易于测试,工具和配套设施都比较完备。在新生代编程语言(如Kotlin和Swift)中支持良好,在Kotlin中有着非常友好的支持,并且是写异步和并发程序的推荐方式。为了彻底学会使用协程和理解协程背后的原理,计划用三篇文章专注来学习协程。
Understanding KMP Algorithm
让你从此不再惧怕ANR
这篇文章是基于官方的Diagnose and fix ANRs翻译而来,但也不是严格的翻译,原文的内容都在,又加上了自己的理解以及自己的经验,以译注的形式对原文的作一些补充。
当一个Android应用的UI线程被阻塞时间过长,系统就会发出一个臭名昭著的“应用程序未响应”(ANR, Application Not Responding”)错误。本文将讲述不同类型的ANR,如何分析以及如何解决。文中列出的所有的超时时间范围都是基于AOSP和Pixel设备;这些时间范围可能会依OEM厂商而不同。
实战技巧:为Android应用设置独立的多语言
线性排序算法总结
理解摩尔投票算法
摩尔投票法(Boyer–Moore majority vote algorithm),也称为『多数投票法』,这个算法解决的问题是:如何在任意多的候选人中,选出获利票数最多的那个。从算法的角度来说就是在一个长度为n的数组中,找出出现次数大于n/2的那个数,称为多数元素或者主要元素(Majority Element)。