一、创建 或 导入一个Flutter module 二、添加settings.gradle.kts内的相关配置 贴出完整配置 三、在app内的build.gradle.kts...
一、创建 或 导入一个Flutter module 二、添加settings.gradle.kts内的相关配置 贴出完整配置 三、在app内的build.gradle.kts...
ViewModel的生命周期,以往我们将UI展示的数据直接缓存在对应的UI组件中,遇到ConfigurationChange等事件UI组件重新创建,我们缓存的数据也随之销毁。...
先学个MarkDown语言如何?
一、安装前准备 OpenCV官网下载地址:https://opencv.org/releases/[https://opencv.org/releases/]Visual S...
前言 Android NDK以前默认使用Android.mk与Application.mk进行构建,但是在Android Studio2.2之后推荐使用CMake进行编译。C...
vi命令 vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑...
这是kotlin?
Kotlin中ArrayList 遍历删除元素报:java.util.ConcurrentModificationException在java语言中,ArrayList是一个很常用的类,在编程中经常要对ArrayList进行删除操作,在使用remove方法对ArrayList进行删除操作时,报java.u...
关于编译时注解(APT)由浅入深有三部分,分别是: 1. 自定义注解处理器[https://www.jianshu.com/p/fb80995daa45]例如 ButterK...
简介 之前写过两篇文章介绍了通过 APT 和 Javassist 做静态的代码插桩:1. 使用 APT 自动生成代码[https://www.jianshu.com/p/fb...
首先看一下用法和效果图:点击按钮 然后处理注入的事件 具体实现 1、首先先定义几个想要注入事件的注解文件 定义一个ContentView注解 定义一个view的初始化注解 然...
定义 当一个对象的状态发生改变时,所有依赖于他的订阅者都会受到通知,这种就叫做观察者模式 本质 触发联动 优点 如果在不使用观察者模式情况下,如果想实时获取对象的状态并及时做...
什么是IOC呢? 控制反转(Inverse of control),用来降低代码的耦合度,最常见的方式叫做依赖注入(Dependency Injection,DI),IOC的...
保护代理的实现方式有两种:静态代理和动态代理。首先代理模式的作用是什么呢?控制访问。 代理模式 场景为其他对象提供一种代理,控制对这个对象的访问——控制访问 条件(特点)1、...
我们都知道面向对象有三大特性:封装、继承、多态。但是 他们都是为了解决什么样的问题,都有什么体现呢? 封装 封装其实是为了解决程序安全的问题,私有属性公有方法,对于一个函数,...
如果线程1和线程2通过getIntVolatile拿到value的值都为1,线程1是继续重试,是自旋不是挂起吧楼主。。。。
浅谈AtomicInteger实现原理AtomicInteger位于java.util.concurrent.atomic包下,是对int的封装,提供原子性的访问和更新操作,其原子性操作的实现是基于CAS。 1....