2017-01-31 11 views
1

として重複マークしないでください再びエラーjava.util.concurrent.TimeoutException:android.view.ThreadedRenderer.finalize()は10秒後にタイムアウトし

私は、crashlyticsに非常に頻繁にこのエラーを取得し、私は問題を見つけることができません。私はhereまたはhereを見ましたが、私のアプリにはWebViewはありません。

私は自分のアプリで、いくつかの日付を処理しているAsyncTasksを持っています:DBから選択し、比較してUIを更新するためにリスナーを呼び出してください(UIを更新する必要があるときに、この処理は、ユーザーが比較するレコードが10k個ある場合は長くなる可能性があります。

は、そのエラーが異なるデバイスメーカー(サムスンの詳細)のために、異なるAndroidのバージョン(Andorid 6.0 +の詳細)

私は、たとえば、このエラーに別の一つとして多くの時間を得る上で起こる言及する必要があり

ファイル:Daemons.java:217

java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds 
1 at android.view.ThreadedRenderer.nDeleteProxy(Native Method) 
2 at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:459) 
3 at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:217) 
4 at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:200) 
5 at java.lang.Thread.run(Thread.java:818) 

ファイル:デーモン。 Javaの:206

java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 10 seconds 
1 at android.view.ThreadedRenderer.nDeleteProxy(Native Method) 
2 at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:449) 
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) 

ファイルDaemons.java:210

java.util.concurrent.TimeoutException: android.view.ThreadedRenderer.finalize() timed out after 15 seconds 
1 at android.view.ThreadedRenderer.nDeleteProxy(Native Method) 
2 at android.view.ThreadedRenderer.finalize(ThreadedRenderer.java:427) 
3 at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:210) 
4 at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:193) 
5 at java.lang.Thread.run(Thread.java:818) 

等...

+0

TextureViewまたはSurfaceViewを使用していますか? – ShellDude

答えて

0

あなたが説明にリンク柱の一つとして、これは、ガーベジコレクションによって生成される例外は、ネイティブコードの実装を持つオブジェクトに対して長すぎます。私はこの例外に遭遇し、この例外java.lang.Daemons $ FinalizerDaemon.finalizerTimedOut()を生成するソースコードを見て解を見つけました。これはhereです。

finalizerTimedOut()では、Thread.getDefaultUncaughtExceptionHandler()== nullの場合、TimeoutException()を作成してログに記録し、非ゼロのコード(System.exit(2);)で終了します。ユーザーには、これはFCのように見えます!これを防ぐには、Thread.setDefaultUncaughtExceptionHandler()を呼び出してこの例外を捕捉して処理する必要があります。

関連する問題