分析に外部ライブラリを使用するアプリケーションがあります。問題は、同期的にいくつかのことを行っていると思われることです。これにより、スレッドがブロックされ、ウォッチドッグが 10 秒後にアプリを強制終了します (0x8badf00d コード)。再現するのは本当に難しいですが(私にはできません)、「野生の」ケースはほとんどありません。
代わりに別のスレッドを作成する代わりに、実行ループを使用する必要があることを示唆するドキュメントをいくつか読みました。残念ながら、それらについて読めば読むほど、私は混乱していきます。そして、私が最後にやりたいことは、さらに多くのものを壊す修正をリリースすることです:/
私が達成しようとしていることは次のとおりです。
メイン スレッドからタスクを実行ループに追加します。このタスクは、関数 initMyAnalytics() を 1 つだけ呼び出します。ネットワーク データを待って initMyAnalytics() がロックされても、スレッドは引き続き実行されます。initMyAnalytics() が終了すると、静かに終了し、再度呼び出されることはありません (したがって、ループなどは発生しません)。
それを達成する方法はありますか?コード例は大歓迎です ;) よろしく!