第一步:创建 ViewModelProvider , 拿到 ViewModelStoreOwner(ComponentActivity) 的 ViewModelStore ...
第一步:创建 ViewModelProvider , 拿到 ViewModelStoreOwner(ComponentActivity) 的 ViewModelStore ...
LiveData 数据粘性 主要思路 : 观察时 ,修改 observer 的 mVersion 与 LiveData的 mVersion 一致
一 :使用 Activity 已经实现 LifecycleOwner , 观察者 比如 Presenter 需要实现 LifecycleObserver , 当 Activ...
容器 容器,就是用来存放东西的盒子。常用的数据结构包括:数组array, 链表list, 树tree, 栈stack, 队列queue, 散列表hash table, 集合s...
类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,用户定义的类型。 类的析构函数是类的一种特殊的成员函数,它会在每次...
1、结构体 结构体是C编程中一种用户自定义的数据类型,类似于Java的JavaBean 当结构体需要内存过大,使用动态内存申请。结构体占用字节数和结构体内字段有关,指针占用内...
1、指针 指针是一个变量,其值为地址。注意: 指针变量本身也有地址声明指针或者不再使用后都要将其置为0 (NULL)野指针 : 未初始化的指针悬空指针 : 指针最初指向的内...
c与c++C语言是一门通用计算机编程语言,广泛应用于底层开发。c语句是面向过程的语言,c++是面向对象的语言,C++对c进行扩展。c是c++的子集,c++是c的超集,所以大部...
一 :通过 adb shell dumpsys meminfo ${PROCESS_NAME} 查看内存情况 这里我们选取手机上的一个应用Phoneix查看一下其内存占用情况...
一、通过 SharedFlow 实现广播 通过 SharedFlow 可以实现类似广播的功能: 需要注意的是,SharedFlow 默认无法收到 collect 前发射的值,...
1. LiveData有什么不足? 1.1 为什么引入LiveData? 要了解LiveData的不足,我们先了解下LiveData为什么被引入 LiveData 的历史要追...
Kotlin 也支持委托功能,分为 类委托 属性委托 1. 类委托 类委托的核心思想是将一个类的一些具体实现委托给另一个类去完成,如下代码: by 子句表示,将 baseIm...
Kotlin 中的 data class 在使用 java 的时候,我们经常会重写类的 equals 、hashCode 和 toString 方法。这些方法往往都是模板化的...
1. 取消勾选 2. profile app 3 双击 Memory 4. 打开某个APP页面 ,查看内存是否增加 查看内存是否抖动,下图表示有很多垃圾回收操作 5. 选择区...