1.DEFAULT模式 协程的默认启动模式,launch 调用后,会立即进入待调度状态,一旦调度器 OK 就可以开始执行 没有job.join打印134或者1342加入job...
1.DEFAULT模式 协程的默认启动模式,launch 调用后,会立即进入待调度状态,一旦调度器 OK 就可以开始执行 没有job.join打印134或者1342加入job...
这一年看起来很忙,实际上都不知道自己在瞎忙什么,突然就想点东西了,记录些平时会经常用到的东西,希望能帮到需要帮助的人。好了,废话不多说进入正题,我们在日常开发中经常会用到sv...
背景: 现在用户未同意隐私政策前就获取了用户个人信息(mac地址,imei码),所以在启动页都得加个隐私政策询问弹框,同意后再初始化第三方SDK 作用: 符合要求 效果图: ...
前景纪要开发项目时多多少少都会引入一些第三方库,当出现库与库之间依赖冲突时,我们需要把冲突的依赖使用exclue进行排除。所以需要知道每个第三方依赖库的依赖树,知道依赖树就清...
1、 bug现象:当手机上的app运行的数量 超过手机清理的上限,即内存不足时,应用进入后台再次打开时嵌套的Fragment页面显示空白; 问题分析:内存不足时,宿主Acti...
1. ? 声明一个变量可为空。 2. ?. 判空操作2.1 如果 b 为空,返回 null,否则就返回 b.length。2.2如果要只对非空值执行某个操作,安全调用...
之前看到很多中文博客说: LiveData在实体类里可以通知指定某个字段的数据更新;MutableLiveData则是完全是整个实体类或者数据类型变化后才通知.不会细节到某个...
一些问题 程序什么时候需要切线程? 工作比较耗时:放在后台 工作特殊:需要放在指定线程(ui刷新、计算、io) kotlin的协程是什么? 线程框架 可以用同步代码写出异步操...
在日常的开发当中,我们难免要使用 控件,那么我们怎么处理让用户不在 中输入空格呢? 输入监听控件 输入监听事件是我们最输入的方法之一,直接上代码。想要使用这种方法的小伙伴,可...
在 webview 中加载 vue 项目,加载时间将近5~6秒,严重影响用户体验,为此,本文将探索 webview 性能优化相关技术细节,将用户体验优化到极致,做到原生app...
来点闲白 EventBus是一款针对Android优化的发布-订阅事件总线。它简化了应用程序内各组件间、组件与后台线程间的通信。其优点是开销小,代码更优雅,以及将发送者和接收...
概念: 序列化:把对象转化为可传输的字节序列过程称为序列化。反序列化:把字节序列还原为对象的过程称为反序列化。 实现: Java 通过实现Serializable接口进行序列...
1. 界面 就是实现一个有头部、内容部分和底部的 RecyclerView,头部为置顶的公告,底部有一个按钮可以添加 item以下为实际界面图: 2. 实现 首先先新建一个c...
前言 什么是Jetpack? Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开...
Andoird中拍照、录像是很常见的功能,但是系统相机的Api目前发生了很大的变化,有Camera1、Camera2、CameraX三个api,每个api的使用和方法都不一样...
一、简介 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局[https://baike.baidu.com/item/...
使用 brew 安装 如果还没有安装 brew,先安装,使用国内的安装脚本: 推荐选择“中科大镜像”。 然后安装 adb: 最后安装 scrcpy: 这一步比较耗时。 安装完...
1 Glide缓存与复用机制简介 1.1 Glide的资源状态可以分为四种 Active Resources:有其他View正在展示这张图片 Memory cache:该图片...
已经有了 Dagger 2 为什么还要使用 DaggerAndroid 呢?关于这一点在谷歌的官方说明文档:https://google.github.io/dagger//...