Kotlin 协程三——数据流 Flow
[toc] 一、Flow 的基本使用 Kotlin 协程中使用挂起函数可以实现非阻塞地执行任务并将结果返回回来,但是只能返回单个计算结果。但是如果希望有多个计算结果返回回来,则可以使用 Flow。 1.1 Sequence 与 Flow 介绍 Flow 之前,先看下序列生成器: val intSequence = sequence<Int> { Thread...
[toc] 一、Flow 的基本使用 Kotlin 协程中使用挂起函数可以实现非阻塞地执行任务并将结果返回回来,但是只能返回单个计算结果。但是如果希望有多个计算结果返回回来,则可以使用 Flow。 1.1 Sequence 与 Flow 介绍 Flow 之前,先看下序列生成器: val intSequence = sequence<Int> { Thread...
[toc] 一、 Channel 基本使用 1.1 Channel 的概念 Channel 翻译过来为通道或者管道,实际上就是个队列, 是一个面向多协程之间数据传输的 BlockQueue,用于协程间通信。Channel 允许我们在不同的协程间传递数据。形象点说就是不同的协程可以往同一个管道里面写入数据或者读取数据。它是一个和 BlockingQueue 非常相似的概念。区别在于:Bloc...
[toc] 一、协程的一些前置知识 1.1 进程和线程 1.1.1基本定义 进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。 进程是资源分配的最小单位,在单核CPU中,同一时刻只有一个程序在内存中被CPU调用运行。 线程 基本的CPU执行单元,程序执行过程中的最小单元,由 ...
一、函数 代码块函数体: fun sum(x: Int, y: Int): Int { return x + y } 表达式函数体: fun sum(x: Int, y: Int) = x + y 使用表达式函数体,一般情况下可以不声明返回值类型。在一些诸如递归等复杂情况下,即使是使用表达式函数体,也必须显示声明返回值类型。 总结: 函数参数必须显...
重装系统前请备份 ~/.ssh 下的公钥私钥文件,重装系统后,请使用以下方法复用好之前的 key 将备份好的 key copy 至 ~/.ssh 下 将私钥 id_rsa 的文件属性改为600:sudo chmod 600 id_rsa 执行 ssh-add id_rsa 执行 ssh-add id_rsa 过程中如果报 Could not open a connection to ...
一、概述 Android 应用中经常会有一些要求全屏显隐状态栏导航栏的需求。通过全屏沉浸式的处理可以让应用达到更好的显示效果。在 Android 4.1 之前,只能隐藏状态栏, 在 Android4.1之后,Android 提供了一套控制 SystemUI的方式。Android P 增加了异形屏处理,应用需要对异形屏进行适配。Android Q 增加了全面屏手势导航,应用还需要对全面屏手势导...
一、IInk SDK runtime 1.1 引擎创建 iink SDK 运行时由一个Engine对象表示。 此对象将允许您创建其他关键对象、配置识别和微调 SDK 行为。 它通过类的create()静态方法实例化Engine: 在 java 中,我们强烈建议将引擎创建包装成单例 import com.myscript.certificate.MyCertificate; impor...
网上的文章大多是 Android Studio 2.x 环境,实行起来,坑比较多。 本文适用于 Android Studio 3.x 及以上,亲测可行。 一、编译生成 framework.jar 包 系统级 App 开发,很多时候需要访问 framework 层隐藏的接口(接口前的注释里加了@hide),有时候甚至是定制的系统,在 framework 层加入了新的接口,为了使用这些接口,需...
写在前面 简单记录一下自己学习 OpenGL ES 的心得。可能写的逻辑性不强,想到哪写到哪。也可能自己的一些理解有误。 参考资料: LearnOpenGL CN Android官方文档 《OpenGL ES应用开发实践指南Android卷》 《OpenGL ES 3.0 编程指南第2版》 一、前言 目前android 4.3或以上支持opengle...
前面两篇文章记录了 Spring IOC 的相关知识,本文记录 Spring 中的另一特性 AOP 相关知识。 部分参考资料: 《Spring实战(第4版)》 《轻量级 JavaEE 企业应用实战(第四版)》 Spring 官方文档 W3CSchool Spring教程 易百教程 Spring教程 一、AOP——另一种编程思想 1.1 什么是 AOP AOP (Aspect Or...