api replaceCurrentItemWithPlayerItem:メインスレッドが数秒間スタックされているようです。アイテムを置き換えるには、事前ロードに時間がかかる可能性のある新しいアイテムの情報が必要です。しかし、質問がなぜ起こったのですか?のアイテムオブジェクトと一緒にreplaceCurrentItemWithPlayerItemを実行すると、メインスレッドがスタックされますか?それは、時にはそれがないプレーヤーアイテムを置き換えるために5秒以上かかることが私に起こります。 問題を避けるために何ができるのだろうか。アドバイスありがとう!iOS AVPlayer replaceCurrentItemWithPlayerItem:nilブロックUIスレッド
6
A
答えて
1
UICollectionView
を使用してローカルフォトライブラリのビデオをALAssetLibrary
で表示しプレビューすると、同様のブロックUIスレッドの問題が発生しました。
動画の切り替えのスクロールがスムーズではないので、私は私がreplaceCurrentItemWithPlayerItem
がに30ミリ秒程度必要であることが分かった正確.IN Time Profiler
UIスレッドを占めるものを分析するためにInstruments
のCore Animation
を使用して、いくつかのメソッドブロックUI thread.Then を推測16ms(1000/60(fps))を超えるメインスレッドで実行すると、不安定なスクロールが発生します。
replaceCurrentItemWithPlayerItem
をGCDを使ってバックグラウンドスレッドに入れてみましたが、うまくいきませんでした。それは、UIを意味するreplaceCurrentItemWithPlayerItem
のコール時にCocoa自体がアップデートUIを必要としているかどうかわかりませんスレッドはまだブロックです。最後に、replaceCurrentItemWithPlayerItem
をスクローリングエンド(デリゲートfunc scrollViewDidEndDecelerating(scrollView: UIScrollView)
)に置くことによって動作させました。スクロールがスムーズに行われました。
したがって、私のアドバイスは明白です:正確
関連する問題
- 1. AsyncTaskブロックUIスレッド
- 2. ロードDLLブロックUIスレッド
- 3. タスク継続ブロックUIスレッド
- 4. SilverlightのブロックUIスレッドOnNavigatingFrom
- 5. RxAndroidはUIスレッドをブロックします
- 6. 非同期タスクまだブロックUIスレッド
- 7. GoogleマップOnCameraChangeListenerジオコーダAsynTaskブロックUIスレッドは
- 8. Android AsyncTaskはUIスレッドをブロックします
- 9. API呼び出しブロックUIスレッドSwift
- 10. AVPlayer iOSの
- 11. AVPlayer with FullScreen - iOS
- 12. Thread.JoinもUIスレッドで子スレッドをブロックしています
- 13. 新しいスレッドはまだUIスレッドをブロックしています
- 14. スレッド:スレッドをブロックせずにUIを更新しますか?
- 15. ios - ブロック内のUIを更新する
- 16. Android bluetooth:UIスレッドから開始されたスレッドはUIスレッドをブロックします
- 17. iOS AVPlayerストリーミングミュージックの問題
- 18. iOSの非UIスレッドからUIラベルを更新する方法
- 19. iOS AVPlayer cant play 240 fps video
- 20. UIスレッドをブロックせずにスレッドが終了するのを待ちます
- 21. ブロックUIスレッドではなく、私は次のスレッド方式持つラベルメッセージ
- 22. STAスレッドモードスレッドは、winform UIスレッドもブロックしますか?
- 23. AdmobがUIスレッドをブロックしないようにする方法
- 24. Java UIスレッドがブロックされました - メモリ不足エラー
- 25. UIスレッドをブロックせずにSharedPreferencesを編集するには?
- 26. EclipseコンソールからUIスレッドをブロックしないようにする
- 27. UIスレッドをブロックまたはスリープしないタイマーの説明
- 28. スレッドをブロックするスレッド
- 29. UIスレッド
- 30. wxPythonスレッドのブロック
おかげでチームメイトUIスレッドを占めるものを分析するために楽器を使用して、あなたが私の一日保存された:D –