Flow学习笔记1-基本使用
Flow的基本使用创建
flow builder
123456789flow { for (i in 1..5) { delay(100) emit(i) }}.collect{ println(it)}
flowOf()
1234567flowOf(1,2,3,4,5) .onEac ...
一个协程的异常引发的思考
问题之前代码中有同事这样写,然后发现CoroutineExceptionHandler无法捕获协程异常,于是直接在协程出错处加上了try catch 才可以,🤔
1234567891011121314lifecycleOwner.lifecycleScope.launchWhenCreated { //此处的直接CoroutineExceptionHandler无法捕获HomeP ...
Kotlin中的Lambda
lambda表达式是Kotlin函数式编程的一个重要概念,是函数式编程的基础
Kotlin在线编译
1、lambda基本形式lambda表达式存在于 { }中;参数及参数类型可在 -> 左边,函数体在 -> 右边;lambda表达式返回值总是返回函数体内部最后一行表达式的值
1.1、无参数
val 函数名 = { 函数体 }
123456val hello = ...
认识Bitmap
背景位图文件(Bitmap),扩展名可以是.bmp或者.dib。它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩 。Bitmap 应该是很多应用中最占据内存空间的一类资源了,Bitmap 也是导致应用 OOM 的常见原因之一。例如,如果使用4048 _ 3036 像素(1200 万像素),使用的Bitmap.Config为 ARGB_8888(And ...
BinderProxy TransactionTooLargeException
最近在解决项目中的Crash问题,发现有个Java Crash排在Top1,TransactionTooLargeException,这个问题通常是由于App在展示需要存储的页面切换到后台时导致,堆栈如下
123456789java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 83 ...
全栈探索
1、背景技术中通常说一个深度和广度,“T”字型,横代表广度,竖代表深度;深度让我们稳稳扎根,广度让我们打通整个链路看到全局,形成合力,比如你要做个副业之类的广度是必须的。最近通过一个博客系统部署到阿里云,(Go+Vue+Docker+阿里云),初步完成前端到后台的入门。
2、基础工作这是前端后台的一些基本工作,完成这一步才能继续进军常用的一些框架,这里服务端采用的技术栈是Go,前端是Vue
G ...
聊聊Android中的Camera
Camera 演进简介最近在项目中遇到 Camera相关的场景,之前对这块不是很了解,趁机补了一下盲区。Android Camera 相关也是生态碎片化较为严重的一块,Android FrameWorkt提供Camera API来实现拍照与屏幕录制的能力,目前Android有三类API
Camera (为了便于区分 下面简称 Camera1)
此类是用于控制设备相机的旧版API,在Andro ...
设计模式精简图册
设计模式精简图册设计模式分类创建型模式:主要用于创建对象,包括
工厂方法(Factory Method)
抽象工厂(Abstract Factory)
单例(Singleton)
生成器(Builder)
原型(Prototype)
结构型模式:用于处理类或者对象的组合,包括
适配器(Adapter)
装饰者(Decorator)
代理(Proxy)
外观(Facade)
桥接 ...
深入理解动态代理
一、概述最近在阅读retrofit源码时,有个关键的所在就是动态代理,细细回想了一下动态代理,发现之前有些细节还没有理解到位,本篇博文将重新深入理解一下动态代理。
二、关于代理中华名族是一个含蓄的名族,讲究微妙和间接的交流方式。对象之间的间接通信也是同样是面向对象设计中一条重要的审美观,迪米特法则也指出“一个对象应该对其他对象保持最少的了解”,间接间通信可以达到“高内聚,低耦合”的效果。代理是一种 ...
Android中的AOP
什么是AOPAOP(Aspect Oriented Program的首字母缩写)是一种面向切面编程的思想。这种编程思想是相对于OOP(ObjectOriented Programming即面向对象编程)来说的。
先来说一下大家熟悉的面向对象编程:面向对象的特点是继承、多态和封装。而封装就要求将功能分散到不同的对象中去,这在软件设计中往往称为职责分配。实际上也就是说,让不同的类设计不同的方法。这样代 ...













