声明式布局
声明式布局
1.特点 1.立即执行:必须立即开始且很快就完成的任务,可以加急。2.长时间运行:运行时间可能较长(有可能超过 10 分钟)的任务。3.可延期执行:延期开始并且可以定期运行的...
Navigation
ORMLite、GreenDAO Room 持久性库在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库。具体来说,Ro...
developer.android数据绑定库[https://developer.android.google.cn/topic/libraries/data-binding...
LiveDataBus 1.基础使用 2.LiveDataBus:View外部调用
ViewModel[https://developer.android.google.cn/reference/androidx/lifecycle/ViewModel?hl...
LifecycleLiveDataViewModelDataBindingRoomNavigation
泛型的本质是“数据类型的”参数化,处理的数据类型不是固定 的,而是可以作为参数传入。我们可以把“泛型”理解为数据类型的一个占位符(类似形式参数),即告诉编译器,在调用泛型是必...
1.为什么使用架构? 设计:模块化功能编码:提高开发效率、复用、规范测试:提高测试效率维护:便于维护升级 2.MVP的特征 从接口层面避免M和V的直接通信。 3.MVP分层 ...
框架设计的灵魂框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。 什么是反射:将类的各个组成部分封装称其他对象 好处:1.可以在程序运行过程中,操作这些对象。2.可...
实现线程同步,让多个线程排队依次获取某个资源,保证数据不会出错。Synchronized 锁定的是什么元素? 1.修饰方法 1.1修饰静态方法 修饰静态方法锁定的是类。同步 ...
1.饿汉式(不推荐) private final static Hungry HUNGRY = new Hungry();优点:类加载的时候就完成了实例化。不存在线程安全问题...
并发编程中3个特性需要关注(原子性,可见性,有序性) 1.原子性(不支持) count 最后输出不会是10000。 2.可见性(支持) 3.有序性(禁止重排序):经典DCL
一、Lifecycle简介 androidx.lifecycle 生命周期感知行组件可执行操作来响应另一个组件(如activity、fragment、service、appl...
写的真好,学到了
关于Flutter热更新的一些实践和方案整理中....
1、配置adb环境变量 android sdk的路径可在Android-studio中查看 adb目录:sdk目录下的platform-tools文件夹中 如果有配置文件 就...
可以用,注意下apple-app-site-association文件格式是否正确。
iOS Universal Links教程最近有个需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个 schema Universal Links 现在分析下两个方案 一、两种方式的简介 schema sc...
最近有个需求, 是通过链接跳转到应用内部,现在iOS主流的方案有两个 schema Universal Links 现在分析下两个方案 一、两种方式的简介 schema sc...
从flutter实战抄来的啊