ip地址 @91.189.91.93 security AppCompatActivity(1024td
LifecycleBoundObserver(LifecycleOwner owner, Observer<? super T> observer) {
super(observer);
mOwner = owner;
class LiveDataActivity : App cao mpatActivity liu() 观察 Data 1024数据的代码社区地址通常这样写:
archive.https://1024td.com @91.189.91.93 security
class LiveDataActivity : AppCompatActivity(1024td.com) {
private val viewModel by lazy {
ViewModelProviders.of(this@LiveDataActivity).get(MyViewModel::class.java)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
viewModel.livedata.observe(this@LiveDataActivity) {
// 观察 LiveData 数据更新(匿名内部类)
}
}
}
复制代码
LiveData 的数据观察者通常是匿名内部类,它持有界面的引用,可能造成内存泄漏。
LiveData 内部会将数据观察者进行封装,使其具备生命周期感知能力。当生命周期状态为 DESTROYED 时,自动移除观察者。
Observer 作为界面的匿名内部类,它会持有界面的引用,同时 Observer 被 LiveData 持有,LivData 被 ViewModel 持有,而 ViewModel 的生命周期比 Activity 长。(为啥比它长,可以点击这里)。
最终的持有链如下:NonConfigurationInstances 持有 ViewModelStore 持有 ViewModel 持有 LiveData 持有 Observer 持有 Activity。
所以得在界面生命周期结束的时候移除 Observer,这件事情,LiveData 帮我们做了。
在 LiveData 内部 Observer 会被包装成LifecycleBoundObserver:
class LifecycleBoundObserver extends ObserverWrapper
implements LifecycleEventObserver {
final LifecycleOwner mOwner;
LifecycleBoundObserver(LifecycleOwner owner, Observer<? super T> observer) {
super(observer);
mOwner = owner;
}
@Override
public void onStateChanged(LifecycleOwner source, Lifecycle.Event event) {
// 获取当前生命周期
Lifecycle.State currentState = mOwner.getLifecycle().getCurrentState();
// 若生命周期为 DESTROYED 则移除数据观察者并返回
if (currentState == DESTROYED) {
removeObserver(mObserver);
return
}
...
}
...
}
ip地址 @91.189.91.93 security AppCompatActivity(1024td相关推荐
- sudo apt-get update或 sudo apt-get install时出现“404 NOT FOUND [IP:91.189.91.38 80]” 错误的解决方案
在VMware虚拟机安装插件时,使用sudo apt-get update命令出现以下提示. W: Failed to fetch http://security.ubuntu.com/ubuntu/ ...
- 404 Not Found [IP: 91.189.91.39 80] 解决办法:换源,还是换源 !!
目录 一,问题描述:404 Not Found [IP: 91.189.91.39 80] 二,问题根源:软件源问题,某些文件URL请求失败,导致出现某些文件无法下载的问题 三,解决办法:换源,不行 ...
- Linux在sudo apt-get update或install时出现archive.ubuntu.com连接失败 [IP: 91.189.91.39 80]的错误解决方案
问题/错误: E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/dists/xenial/main/binary-arm64/Packages 404 Not F ...
- ubuntu18.04在终端安装pip3时404 Not Found [IP: 91.189.91.24 80]_木绿的博客-CSDN博客
ubuntu18.04在终端安装pip3时404 Not Found [IP: 91.189.91.24 80]_木绿的博客-CSDN博客 解决办法如下 亲测可用 sudo apt-get updat ...
- Ubuntu apt install / update错误前因后果: 连接失败 [IP: 91.189.91.* 80]
同时更新Ubuntu系统和升级Python3.10时,期间命令删除"sudo apt remove Python3*"包,以为由此引发一系列问题,且最终的系统崩溃无法登陆.启动系统 ...
- Ubuntu 20.04 -中文输入法-fcitx-connection failed [ip:91.189.91.38 80]
一般Ubuntu的iso是英文版的.中文输入是必不可少的设置. 1.修改下载源镜像: 如下图所示,改成国内的,我这选了阿里,否则总 connection failed [ip:91.189. ...
- 安装ros系统出现 404 Not Found [IP: 91.189.91.38 80]
当安装ros的过程中出现 :404 Not Found [IP: 91.189.91.38 80],这个问题不用理会也可以继续按装ros,没大问题. 在后来的学习中发现:在sudo apt-get u ...
- 解决Ubuntu 安装时Unable to fetch some archives connection failed [ip: 91.189.91.39 80]
在给ubuntu安装python opencv库时一直报错,说部分站点无法访问到.在网上查了很多方法都没有解决.最后修改sourses.list文件解决了问题 step1 找到sourses.list ...
- 解决apt update 404 Not Found [IP: 91.189.91.15 80] 问题
我们再linux系统上apt update更新数据源的时候,如果遇到此问题多半是因为使用的linux系统版本过低或者已经不在维护范围内了. 检查办法是前往 网站 http://archive.ubun ...
最新文章
- Hololens Unity 开发入门 之 Hello HoloLens
- springboot添加多数据源连接池并配置Mybatis
- 云南昆明:看猪展迎猪年
- extjs store 复杂json_extjs 2.3 修复 jsonstore 嵌套多级引用数据NULL的BUG
- load方法引入本地html报错,分享基于plus.downloader的图片懒加载功能,支持本地缓存v1.1.0...
- 深入理解JavaScript的闭包特性如何给循环中的对象添加事件
- jqc3ff继电器引脚图_电气元件中间继电器的知识全面解读,欢迎电工朋友收藏!...
- 36、NSTimer使用详解-开启、关闭、移除
- jQuery 基本效果
- Linux snmp 时间戳,linux snmp计数器汇总
- 1.4 多项式拟合实例
- leetcode 20. 有效的括号 (python)
- krc转换lrc java_win7将酷狗音乐krc歌词转换成lrc歌词文件的方法
- QtQuick TableView 操作
- html中怎么隐藏一些符号,html 的一些特殊符号
- matlab canon,Canonical state-space realization
- 饭谈:盘点六种错误的技术问题提问
- 计算机网络之面试常考
- 国密双证书签发及国密数据信封解析
- 容斥定理与鸽巢定理(抽屉定理)
热门文章
- 向日葵Linux远程失败,向日葵远程控制客户端无法安装的问题解决方式
- 数学:SVM(2)点到直线距离
- 大数字转换,将大额数字转换为万、千万、亿等 如10000转1万
- Linux中使用命令查看目录信息、查看当前目录路径、清楚终端内容
- winform程序中e.Cancel有什么意义
- ERROR: You appear to be running an X server; please exit X before installing
- 北斗三号频点_一种北斗三代RNSS多频点接收模块的制作方法
- C#:实现计算a的b次方(附完整源码)
- php 获取 知乎,php - 如何获取知乎日报里的图片?
- “互联网 +”智慧环保解决方案-山东达斯特