gpt4 book ai didi

android - Android ViewTreeObserver 还能活多久?

转载 作者:行者123 更新时间:2023-11-30 01:13:26 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序监听 View 事件,例如使用 ViewTreeObserver 绘制的滚动和布局。 ViewTreeObserver 有一种方法可以在执行任何操作之前检查它是否还活着,例如。添加监听器。

我必须重现死/不活 ViewTreeObserver 的问题,看看我的代码是否在生产中运行良好。我在 android 文档中没有看到任何可以重现它的内容。

我感谢任何帮助/指点。

谢谢

最佳答案

事实上,如果查看 ViewTreeObserver 类的源代码,就会发现有一个“kill”函数可以将 mAlive 设置为 false,也只是在这里,但它从未被调用。

/**
* Marks this ViewTreeObserver as not alive. After invoking this method, invoking
* any other method but {@link #isAlive()} and {@link #kill()} will throw an Exception.
*
* @hide
*/
private void kill() {
mAlive = false;
}

在我看来,这个观察者将在以下情况后变得不可用(但不是不存在,你不能使用 isAlive() 来确定当前观察者的状态):

  1. 您删除了监听器,例如view.getViewTreeObserver().removeOnGlobalLayoutListener(this);

  2. 包含 View 的当前 Activity 被销毁

关于android - Android ViewTreeObserver 还能活多久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38186255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com