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相关推荐

  1. 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/ ...

  2. 404 Not Found [IP: 91.189.91.39 80] 解决办法:换源,还是换源 !!

    目录 一,问题描述:404  Not Found [IP: 91.189.91.39 80] 二,问题根源:软件源问题,某些文件URL请求失败,导致出现某些文件无法下载的问题 三,解决办法:换源,不行 ...

  3. 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 ...

  4. 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 ...

  5. Ubuntu apt install / update错误前因后果: 连接失败 [IP: 91.189.91.* 80]

    同时更新Ubuntu系统和升级Python3.10时,期间命令删除"sudo apt remove Python3*"包,以为由此引发一系列问题,且最终的系统崩溃无法登陆.启动系统 ...

  6. Ubuntu 20.04 -中文输入法-fcitx-connection failed [ip:91.189.91.38 80]

    一般Ubuntu的iso是英文版的.中文输入是必不可少的设置. 1.修改下载源镜像:    如下图所示,改成国内的,我这选了阿里,否则总   connection failed [ip:91.189. ...

  7. 安装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 ...

  8. 解决Ubuntu 安装时Unable to fetch some archives connection failed [ip: 91.189.91.39 80]

    在给ubuntu安装python opencv库时一直报错,说部分站点无法访问到.在网上查了很多方法都没有解决.最后修改sourses.list文件解决了问题 step1 找到sourses.list ...

  9. 解决apt update 404 Not Found [IP: 91.189.91.15 80] 问题

    我们再linux系统上apt update更新数据源的时候,如果遇到此问题多半是因为使用的linux系统版本过低或者已经不在维护范围内了. 检查办法是前往 网站 http://archive.ubun ...

最新文章

  1. Hololens Unity 开发入门 之 Hello HoloLens
  2. springboot添加多数据源连接池并配置Mybatis
  3. 云南昆明:看猪展迎猪年
  4. extjs store 复杂json_extjs 2.3 修复 jsonstore 嵌套多级引用数据NULL的BUG
  5. load方法引入本地html报错,分享基于plus.downloader的图片懒加载功能,支持本地缓存v1.1.0...
  6. 深入理解JavaScript的闭包特性如何给循环中的对象添加事件
  7. jqc3ff继电器引脚图_电气元件中间继电器的知识全面解读,欢迎电工朋友收藏!...
  8. 36、NSTimer使用详解-开启、关闭、移除
  9. jQuery 基本效果
  10. Linux snmp 时间戳,linux snmp计数器汇总
  11. 1.4 多项式拟合实例
  12. leetcode 20. 有效的括号 (python)
  13. krc转换lrc java_win7将酷狗音乐krc歌词转换成lrc歌词文件的方法
  14. QtQuick TableView 操作
  15. html中怎么隐藏一些符号,html 的一些特殊符号
  16. matlab canon,Canonical state-space realization
  17. 饭谈:盘点六种错误的技术问题提问
  18. 计算机网络之面试常考
  19. 国密双证书签发及国密数据信封解析
  20. 容斥定理与鸽巢定理(抽屉定理)

热门文章

  1. 向日葵Linux远程失败,向日葵远程控制客户端无法安装的问题解决方式
  2. 数学:SVM(2)点到直线距离
  3. 大数字转换,将大额数字转换为万、千万、亿等 如10000转1万
  4. Linux中使用命令查看目录信息、查看当前目录路径、清楚终端内容
  5. winform程序中e.Cancel有什么意义
  6. ERROR: You appear to be running an X server; please exit X before installing
  7. 北斗三号频点_一种北斗三代RNSS多频点接收模块的制作方法
  8. C#:实现计算a的b次方(附完整源码)
  9. php 获取 知乎,php - 如何获取知乎日报里的图片?
  10. “互联网 +”智慧环保解决方案-山东达斯特