TSG*_*mes 5 java android renderscript
我在应用程序中使用 RenderScript 来执行多项图像处理任务。
有时,我会随机得到以下异常:
10-10 15:27:04.479: E/AndroidRuntime(2113): FATAL EXCEPTION: FinalizerWatchdogDaemon
10-10 15:27:04.479: E/AndroidRuntime(2113): java.util.concurrent.TimeoutException: android.renderscript.Type.finalize() timed out after 10 seconds
10-10 15:27:04.479: E/AndroidRuntime(2113): at android.renderscript.RenderScript.nObjDestroy(RenderScript.java:216)
10-10 15:27:04.479: E/AndroidRuntime(2113): at android.renderscript.BaseObj.finalize(BaseObj.java:116)
10-10 15:27:04.479: E/AndroidRuntime(2113): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187)
10-10 15:27:04.479: E/AndroidRuntime(2113): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170)
10-10 15:27:04.479: E/AndroidRuntime(2113): at java.lang.Thread.run(Thread.java:856)
Run Code Online (Sandbox Code Playgroud)
我的所有 RenderScript 调用都包含在信号量中,以防止同一脚本并行运行。谁能告诉我这条消息的含义以及如何防止它?
你有一个运行时间很长的内核吗?
当 GC 删除 java 代码引用时,该线程尝试清理 RS 对象。如果有一个运行时间很长的内核,它可能会被阻塞足够长的时间来触发您所看到的内容。我们不允许在内核运行时由外部线程修改对象,因此实际上外部线程会被阻塞,直到内核完成为止。
归档时间: |
|
查看次数: |
5217 次 |
最近记录: |