【问题标题】:java.util.concurrent.TimeoutException: id.finalize() timed out after 10 secondsjava.util.concurrent.TimeoutException: id.finalize() 10 秒后超时
【发布时间】:2017-10-19 09:29:59
【问题描述】:

我们公司的app遇到了crash,但是这个问题不一定存在,我现在无法重现问题,可以给我下一个解决思路

id.finalize() id 是 RandomAccessFile 的子类。

这个 STACK_TRACE 是:

java.util.concurrent.TimeoutException: id.finalize() timed out after 10 seconds
at libcore.io.Posix.fstat(Native Method)
at libcore.io.ForwardingOs.fstat(ForwardingOs.java:56)
at libcore.io.BlockGuardOs.close(BlockGuardOs.java:60)
at libcore.io.IoUtils.close(IoUtils.java:43)
at java.io.RandomAccessFile.close(RandomAccessFile.java:166)
at java.io.RandomAccessFile.finalize(RandomAccessFile.java:175)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:194)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:176)
at java.lang.Thread.run(Thread.java:841)

【问题讨论】:

  • 可能流未关闭,可能资源未释放
  • @WangLiu 请用英文写。每个人都应该明白你在说什么。您的角色显示为外国(也许是亚洲人?)符号。
  • 对不起,我无法重现,你能建议下一个方法吗?

标签: android timeoutexception finalize


【解决方案1】:

这听起来像是内存损坏导致写入时间过长。当您使用坏的 SD 卡时会发生这种情况。您应该进行压力测试并将许多字节写入文件并关闭它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    • 2011-04-12
    相关资源
    最近更新 更多