音楽を聴いたり、Spotify を閲覧したりしているときに、この問題が発生するsp_session_process_events()
ことがあります。すべての libspotify 呼び出しを同じスレッドに置くため、アプリは無期限にロックされます。
すべての Spotify コールバックは即座に返され、コールバックからのデータの必要な処理は実行のために 1 つのスレッドでスケジュールされます。さらに、すべての呼び出しにsp_session_process_events()
は、スレッドのキューよりも優先度の高い実行が与えられます。残念ながら、これを再現するための abc の手順はありませんが、再現可能な状況の 1 つはsp_session_process_events()
、アプリが再起動されない限り、ある時点で返されず、スレッド キューがブロックされることです。
これをトラブルシューティングするためのアドバイスをいただければ幸いです。何ヶ月も悩まされており、状況を改善するために考えられるすべてのことを試しましたが、役に立ちませんでした。私たちのアプリはマルチスレッドですが、前に述べたように、すべての呼び出しは確実に同じスレッドで一度に 1 つずつ実行されます。