私は現在、アプリ機能の大部分を共有するネイティブ スレッドを持っています。
私が抱えている問題の 1 つは、ネイティブ コードから SIGNAL が呼び出されると、副作用として Java コードがタスクの途中で死んでしまうことです (ネイティブ コードで例外をスローする ListAdapter などgetView()
)。これらのネイティブ コード エラーにより、Google コンソールが Java スタック トレースでいっぱいになります。これは、「ネイティブ コードがどこかで停止した」に相当します (Java スタック トレースは、ネイティブ コードが停止した状況を説明していません)。
シグナルをキャッチし、JNI を介して呼び出していますが、UI スレッドを中断する方法を見つけようとして問題が発生しています。
私が考えることができる最も近いのは、試してみることです:
handler.post(new Runnable() {
@Override
public void run() {
throw new RuntimeException();
}
});
ハンドラー内からですが、これは非常に無視されているようです。メイン/UIスレッドを中断する方法を誰か教えてください。