gpt4 book ai didi

java - 'finally'如何阻止android运行

转载 作者:太空狗 更新时间:2023-10-29 15:42:21 26 4
gpt4 key购买 nike

在 android 中,对于 finally block 下的代码:

1548 finally {
1549 /*
1550 * clean-up everything...
1551 */
1552 synchronized (sGLThreadManager) {
1553 stopEglSurfaceLocked();
1554 stopEglContextLocked();
1555 }
1556 }

这是否意味着它将由“FinalizerDaemon”运行?

当 trace.txt 显示 FinalizerDaemon 正在等待 ReferenceQueue 时,这意味着什么?

  "FinalizerDaemon" daemon prio=5 tid=7 WAIT
| group="system" sCount=1 dsCount=0 obj=0x419d0c60 self=0x50cf3650
| sysTid=3933 nice=0 sched=0/0 cgrp=apps handle=1086157112
| schedstat=( 0 0 0 ) utm=32 stm=9 core=1
at java.lang.Object.wait(Native Method)
- waiting on <0x416da5d0> (a java.lang.ref.ReferenceQueue)
at java.lang.Object.wait(Object.java:401)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:169)
at java.lang.Thread.run(Thread.java:856)

最佳答案

Finally 在 try catch block 的末尾执行,无论是否发生异常。

FinalizerDaemon 与此无关。它与垃圾收集有关。

关于java - 'finally'如何阻止android运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840534/

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