私は非常に厄介な問題に直面しています。数十秒かかる実行コードがあります。最後に、その計算の結果を取得する必要があります。
コードをメイン スレッドだけで実行すると、スレッドがブロックされていることを通知し、強制的にブロックするかどうかを尋ねる Android がポップアップ表示されます。
原則は正常です。すべての OS カーネルは、コードがまだ生きていてブロックされていないことを知る必要があります。
だから私の質問は、私たちが死んでいないことを Android に通知する方法ですか? たとえば、Sleep(0) や ProcessMessage() などに相当します...しかし、それは Android に、私たちが死んでいないことを通知します。なぜなら、私たちはかなり長い間何かを待っているか実行しているだけだからです...
問題はまったく同じであるため、「別のスレッドで計算を行ってください」と答えないでください。メイン スレッドは、スレッドがいつ完了し、その結果が得られるかを知るために、まだ座っている必要があります。