通过前面的一篇文章我们理解了协程的基本概念,学会协程的基本使用方法,算是正式入门了,接下来就是要深入的学习技术细节和高级使用方法,以期完全掌握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)。
Weather App With Jetpack Compose
现在满屏的Compose,近期也看了一些教程,似懂非懂,总感觉还缺点什么,于是有必要使用这些新技术来构造一个真实的Android App,以加深理解。第一个实例就是想做一个天气查询和展示的应用,使用Jetpack Compose以及Google推荐的MAD(Modern Android Development)。
Understanding Kotlin Delegation
委托或者说委派,是一种设计机制,实现者并不真正的实现某些方法(行为),而是让另外一个对象来当真正的实现者。委拖与依赖注入和延时加载技术结合在一起会产生非常巨大的威力,让代码不但灵活方便扩展,也非常的优雅,但确实会较难以理解。委托机制(Delegation)在Kotlin中的支持是很友好的,并且非常完善,用关键字by和lazy一起就可以写出非常强大的委拖机制代码。