回答編集履歴

2

修正

2022/12/13 01:02

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  ただ Thread.setDefaultUncaughtExceptionHandler は元の Java の機能としてから存在しているもので、ウインドウシステムより下の JVM レベルのものです。 Android ではシステム側で先にハンドラをセットして自身で必要な後片付け等をしているため、 override したクラスでもそのシステム側がセットしていたハンドラを(保存しておいて)呼び出す必要があるようです。
4
4
 
5
- また、ハンドラが呼ばれる状況によっては this であるアクティビティ自体が動作する(出来る)かどうかも分かりませんし、そもそもハンドラはアプリケーションレベルで設定されるため内部で this を使うことはメモリリークになっているという記事もありました。
5
+ また、ハンドラが呼ばれる状況によっては this であるアクティビティ自体が動作する(出来る)かどうかも分かりませんし、そもそもハンドラはアプリケーションレベルで設定されるため内部でアクティビティ ( のコンテキスト ?) を使うことはメモリリークになっているという記事もありました。

1

修正

2022/12/13 00:46

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,5 +1,5 @@
1
1
  少し検索してみましたが、確実な情報は見付かりませんでした。
2
2
 
3
- ただ Thread.setDefaultUncaughtExceptionHandler は元の Java の機能としてから存在しているもので、 Android ではシステム側で先にハンドラをセットしているため、 override したクラスでもそのシステム側がセットしていたハンドラを(保存しておいて)呼び出す必要があるようです。
3
+ ただ Thread.setDefaultUncaughtExceptionHandler は元の Java の機能としてから存在しているもので、ウインドウシステムより下の JVM レベルのものです。 Android ではシステム側で先にハンドラをセットして自身で必要な後片付け等をしているため、 override したクラスでもそのシステム側がセットしていたハンドラを(保存しておいて)呼び出す必要があるようです。
4
4
 
5
5
  また、ハンドラが呼ばれる状況によっては this であるアクティビティ自体が動作する(出来る)かどうかも分かりませんし、そもそもハンドラはアプリケーションレベルで設定されるため内部で this を使うことはメモリリークになっているという記事もありました。