kotlin 协程需要注意的7个要点
协程的 cancel 不能中断线程
如果我们在协程中使用了线程的并发集合,比如Link...
已测试自定义View:Measure过程说明之MeasureSpec类详细讲解
前言
在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
android防截屏相关
FLAG_SECURE标志: 你可以在你的Activity中使用getWindow().setFlags(WindowManage...
Android API 33 GestureDetector.OnGestureListener 覆写崩溃问题
错误原因 GestureDetector.OnGestureListener 覆写崩溃问题
它没有说什么...
buildSrc
1.项目根目录下新建一个名为 buildSrc 的文件夹
image.png
2.在 buildSrc 文...
Android之.9图的知识
.9图的介绍
.9图也称为pPatch图,它是android app开发里一种特殊的图片形式,...
android动态添加View,margin未失效
一:如何动态插入View (源码:SDK30)在讲实现前,我们先看下如何动态插入View,...
Kotlin系列之filter、find、any、map、flatMap、takeWhile、reduce、groupBy常见高阶函数
高阶函数:filter
是一个过滤器,能够通过各种条件过滤出符合该条件的数据。
...
Android原生编解码接口MediaCodec详解
MediaCodec 是 Android 中的编解码器组件,用来访问底层提供的编解码器,通常与 Me...
序列化机制深入了解 | Java
序列化是将对象保存在磁盘中,或允许在网络中直接传输对象。对象序列化机制允许...
Android 在任意位置绘制文本
基础
通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView...
Android计算图片占用内存大小
前言
对于一张图片,你知道应该存放在那个资源目录下面吗,或者说,放在那个资...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
协程 Kotlin Coroutine 初探
协程 kotlin Coroutine
目录:
1. Coroutine 的基本使用
1.1 小结
2. CoroutineSco...
kotlin 集合 : any/none/all
any : 是否至少有一个
/**
* 是否有(符合条件的)元素
*/
private fun any() {...
[源码分析]ViewGroup.addView导致宽高失效问题
开发中,相信经常会使用到inflater动态生成并加载View,例如:
View v = infla...
Kotlin中object和companion object 区别
概念:object声明(一个类)是延迟加载的,只有当第一次被访问时才会初始化,所以...
getGlobalVisibleRect() 与 getLocalVisibleRect()
1. 讲解这两个方法之前, 首先我们先看下一个图片, 只是一个简单的Activity, 一个Li...
Kotlin基础-for循环return、break、continue
一、前言:
java中return、break、continue的含义:
1、break:不仅可以结束其...