Kotlin 感觉
给我感觉,这是一门最小完备的语言,功能实用,无以复减, 语法上主要印象有 6 方面, 声明方式和字面量的简化1.使用 val、var 来动态声明,编译时则会编译成静态类型, 2.数字字面量可以写成 val num = 1_000_000.99_99 方便人类查阅, 字符串字面量可以写成 1234567val num = 1_000_000.99_99val s = """ this is a xxxx, so tha ...
协程,协程
水一篇,不保证能看懂,能看懂都是缘分, 关于并发,涉及的关键概念即 “阻塞、多线程、异步、非阻塞、挂起、系统内核、分时复用”, 阻塞如果只有单线程,那么代码执行到 IO 时,会干等着,直到 IO 结束,才再继续下一步,这种 “干等着” 的现象即阻塞, 如果该线程主要用于 “客户端图形渲染” 或 “服务端接收请求响应”,在该线程中阻塞显然不合适,图形渲染和请求响应会被搁置,乃至给人 “无法响应” 的糟糕体验感受, 多线程为此引入多线程技术,在需要 IO 时,新开一个工作 ...
像看待新冠病毒一样,我们逐渐学会长期与 “来自他人的恶意” 共处。 以下是截至目前,结合多领域视角所构建的理解: 设定如此,故高频且普遍人是生物,生物是基因载体,基因的演化迭代机制,使其默认隐含对优越性的追求,因而人本就有优越感需求, 超脱优越感毕竟难事,因而定力较弱的一部分人,出于生物节能本能,无一例外摸索出 “最低成本、最短路径” —— 通过 “语言霸凌、网络暴力、逞口舌之快” 等方式秀优越, 常见套路即,动辄臆想和放大某杠点(例如 阴谋、愚蠢、不够、不公),然后 ...
学技术要学本质。对 MVI 的有效理解,源于对 “响应式编程 作用和漏洞” 等关键细节的挖掘, 故这期专为 MVI 打磨一篇 “通俗易懂、看完便理解来龙去脉、并能活学活用”,相信阅读后你会耳目一新。 文章目录一览 前言 响应式编程 响应式编程的好处 响应式编程的漏洞 响应式编程的困境 MVI 的存在意义 MVI 的实现 函数式编程思想 MVI 怎样实现纯函数效果 存在哪些副作用 整体流程 当下开发现状的反思 从源头把问题消灭 什么是过度设计,如 ...
谈到 Android 架构,相信谁都能说上两句。从 MVC,MVP,MVVM,再到时下兴起 MVI,架构设计层出不穷。如何为项目选择合适架构,也成常备课题。 由于架构并非空穴来风,每一种设计都有其存在依据。故今天我们一起探寻 “架构演化” 来龙去脉,相信阅读后你会豁然开朗。 文章目录一览 前言 原生架构 原始图形化架构 高频痛点 1:Null 安全一致性问题 原始工程架构 MVC 高频痛点 2:成员变量爆炸 高频痛点 3:状态管理一致性问题 高频痛点 4:消息分发 ...
关于知识深度和广度,一直众口不一, 例如总有这样的声音,认为客户端 App 开发就是没深度,Framework 开发就是有深度;关注业务逻辑就是没深度,琢磨底层原理才是有深度 … 广度没懂造成这些观点的依据是什么, 笔者认为,应用层和框架层,只是分属两个不同的领域,都是由各个知识点拼接而成,彼此之间并无谁深谁浅之分, 如果开发者学习了应用层,又学习了框架层,本质上只是拓宽了广度,从研究 “茴” 有几种写法,到研究 “龍” 有几种写法;从研究 kotlin 语法有哪些, ...
Canvas 总共生两胎,一胎 View 体系,二胎 Compose 体系, 上一期《过目难忘 Android GUI 关系梳理》,我们循序渐进拆解了 “View 体系” 各工具的 存在意义 及 相互间关系,鉴于 Compose 离 “普及” 还有很长距离,这一期我们先来介绍 Compose 框架背后的本质。 注:本文节选自《重学安卓:一通百通 “声明式 UI” 扫盲干货》,本文可免费阅读和全文转载,转载时须注明本文链接出处。 声明式 UI 由来事实上,Rea ...
工作多年,进阶 “细节定制”,难免高频接触 “自定义 View”、“GUI 性能优化” 等概念, 诸如 Canvas、Paint、Path;View、Drawable;Layout、Inflater;include、merge、ViewStub;PhoneWindow、ViewRootImpl … 关于 View 体系,开发者 普遍缺乏 “从 0 到 1 完整踩坑” 经历,且多数网文假设读者已有 前置知识 铺垫在先,因而 直奔 “What、How” 细枝末节,对 “Why ...
前言最近后台时而收到读者留言,说能否出一期 Jetpack MVVM 精讲,以及配套一份简练案例,好把玩把玩、感受感受、加深 MVVM 印象。 答案是肯定的。 面向标准化开发已成现实金九银十,相信不少读者在抓紧机会面试。 Android 市场已今非昔比。过去迫于招人压力,应试者只需了解四大组件、视图、网络请求,即可谋得一份满意工作。 现如今,Jetpack 架构组件及 “标准化开发模式” 确立,预示 Android 开发已步入成熟阶段: 许多 “样板代码” 不再需 ...