私はBBのプロジェクトを開発しています。アプリケーションはネットワークと連携し、HTTP経由でデータを送受信します。ここで、キューとキューマネージャーを使用します。Managerはバックグラウンドスレッドで開始し、while(true)ループで動作し、サーバーへの新しいトランザクションのキューをチェックします。キューが空でない場合、トランザクションが実行されます。空でない場合、マネージャーは200ミリ秒間スリープ状態になります。
トランザクションのプロセスは次のとおりです。-別のスレッドを(Runnableを使用して)実行します。これにより、ネットワークへの接続が開かれ、最初のスレッドがバックグラウンドスレッドまたはタイムアウト(ループが必要)を待機します。これを設定します。-接続が確立されると、getResponseCode()を実行する別のスレッドを(Runnableを使用して)開始し、最初のスレッドがバックグラウンドスレッドまたはタイムアウトを待機します(そのためにループが必要です)。
その前に、wait-rotating-imageを含むポップアップウィンドウを表示し、その後、それを削除します。Application.getEventLock()を介して同期しました。
不安定な場合があり、スレッドが長時間スリープする場合は、timeout-waiting-loopを無視してください。
そのようなアプローチがどれほど有効であるか、どのようなアドバイスとベストプラクティスがあり、あなたの経験は何ですか?
4.5、4.6、4.7、5.0を使用しています。