致命异常:java.util.concurrent.TimeoutException: android.graphics.Path.finalize()在10秒后超时 在android.graphics.Path.finalizer(Path.java) 在android.graphics.Path.finalize(Path.java:748) 在java.lang.Daemons $ FinalizerDaemon.doFinalize(Daemons.java:202) 在java.lang.Daemons $ FinalizerDaemon.run(Daemons.java:185) 在java.lang.Thread.run(Thread.java:818)
我在我的一个实时应用程序中收到此错误,我尽可能地试图弄清楚这仍然没有结果。如果有人能详细告诉我这个问题,那真是太棒了。解决问题的方法。提前谢谢。
编辑:
我发现了更多日志:
at android.view.GLES20Canvas.nDrawBitmap(GLES20Canvas.java) at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:614) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:545) at android.widget.ImageView.onDraw(ImageView.java:1197) at com.flaviofaria.kenburnsview.KenBurnsView.onDraw(SourceFile:201) at android.view.View.draw(View.java:16536) at android.view.View.updateDisplayListIfDirty(View.java:15466) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676) at android.view.View.updateDisplayListIfDirty(View.java:15426) at android.view.View.getDisplayList(View.java:15488) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3697) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3676) at android.view.View.updateDisplayListIfDirty(View.java:15426) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.draw(View.java:16539) at android.widget.FrameLayout.draw(FrameLayout.java:598) at android.view.View.updateDisplayListIfDirty(View.java:15466) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at com.shaiban.audioplayer.mplayer.slidinguppanel.SlidingUpPanelLayout.drawChild(SourceFile:964) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.draw(View.java:16539) at com.shaiban.audioplayer.mplayer.slidinguppanel.SlidingUpPanelLayout.draw(SourceFile:1013) at android.view.View.updateDisplayListIfDirty(View.java:15466) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.support.v4.widget.DrawerLayout.drawChild(SourceFile:1377) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.updateDisplayListIfDirty(View.java:15461) at android.view.View.getDisplayList(View.java:15488) at android.view.View.draw(View.java:16258) at android.view.ViewGroup.drawChild(ViewGroup.java:3713) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3506) at android.view.View.draw(View.java:16539) at android.widget.FrameLayout.draw(FrameLayout.java:598) at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:3111) at android.view.View.updateDisplayListIfDirty(View.java:15466) at android.view.View.getDisplayList(View.java:15488) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:309) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:315) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:354) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2956) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2753) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2339) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1314) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7057) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:829) at android.view.Choreographer.doCallbacks(Choreographer.java:606) at android.view.Choreographer.doFrame(Choreographer.java:576) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:815) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:7007) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
答案 0 :(得分:0)
好的 - 这是我的回答: 当垃圾收集确定不再有对该对象的引用时,受保护的方法finalize由对象上的垃圾收集器调用。 子类重写finalize方法以处置系统资源或执行其他清理。 就像在Google Developer Documentation
中一样事实上,我在我的应用程序中遇到了同样的问题,它在第二个方面绘制了数百个路径: 见Visual Sounds Music Visualizer 我的Google Play控制台统计信息表明它仅适用于Android 5.1
java.util.concurrent.TimeoutException:
1. at android.graphics.Path.finalizer (Native Method)
2. at android.graphics.Path.finalize (Path.java:748)
3. at java.lang.Daemons$FinalizerDaemon.doFinalize (Daemons.java:206)
4. at java.lang.Daemons$FinalizerDaemon.run (Daemons.java:189)
5. at java.lang.Thread.run (Thread.java:818)