Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 父母死亡的检测_Java_Android - Fatal编程技术网

Java 父母死亡的检测

Java 父母死亡的检测,java,android,Java,Android,好了,是时候写我的第一个问题了: 如何检测父母的死亡(视图) 尤其是当父母处于终止状态时 案例: 在UI线程(UI)上运行的活动(A)或常规视图(V)已获取子级(C) C与螺纹(T)的弱参考(WR)绑定 T不知道UI(仅绑定到C) T正在做某事,然后将结果传递给B B在T的范围内 B通过从UI回调到C绑定 B正在通知C有关C执行其工作的更改 不应该对C做任何繁重的检查 C不应该叫t或B 如何检测T中C的死亡并避免检查C是否等于null 编辑 我有很多想法来解决这个问题,但我希望有一个大致的方

好了,是时候写我的第一个问题了:

如何检测父母的死亡(视图)

尤其是当父母处于终止状态时

案例:

  • 在UI线程(UI)上运行的活动(A)或常规视图(V)已获取子级(C)
  • C与螺纹(T)的弱参考(WR)绑定
  • T不知道UI(仅绑定到C)
  • T正在做某事,然后将结果传递给B
  • B在T的范围内
  • B通过从UI回调到C绑定
  • B正在通知C有关C执行其工作的更改
  • 不应该对C做任何繁重的检查
  • C不应该叫t或B
如何检测T中C的死亡并避免检查C是否等于null

编辑

我有很多想法来解决这个问题,但我希望有一个大致的方法来作为一种模式,但在细节上:

  • 我得到了搜索线程(执行任务无效/搜索/完成/取消)
  • 线程在应用程序创建时启动,任务无效
  • 某些活动收集数据并将其作为新的搜索请求发送到线程,然后自行完成
  • 线程通知启动其搜索任务并激发结果意图(显示结果的活动)
  • 此活动可查看结果并设置calltack Thread.setBoundedView(视图)
  • 下一个线程正在将一部分数据从其队列传递到其适配器(在其作用域中)
  • 适配器通知视图(在Thread.setBoundedView(view)方法中回调视图)
  • 我想知道,在以下情况下,对(查看父对象)的引用何时将从作业中孤立到sttop线程-调用等待()以进行下一次搜索):

    • 例外情况
    • onFinish()
    • onPause()
我努力实现的目标:

  • 避免应用程序做无意义的工作
  • 避免网络连接过载
  • 不要使HTTP服务器过载
我排除的解决方案:

  • 视图相等到空检查的循环
  • 使用onAttachedToWindow()/OnAttachedFromWindow()作为API 12提供的
  • 挂接到ViewTreeObserver()并注册侦听器失败 cheeking是一个活跃的未注册的听众吗 (我希望在循环中避免听众的脸颊,这与查看时的脸颊相同)

您能否发布一个带有代码的实际示例?根据您的工作,可能有更好的组织方式everything@Jonathan727我做了一个编辑,你能用代码发布一个实际的例子吗?根据您的工作,可能有更好的组织方式everything@Jonathan727我做了编辑