6

メイン スレッドに AVPlayer、AVPlayerItem、および AVURLAsset を割り当てるときに発生するメイン スレッドのパフォーマンス ヒットを排除しようとしています。これらのオブジェクトの割り当て/解放をバックグラウンド スレッドに移動した経験のある人はいますか? 同様に、AVPlayer の currentItem をバックグラウンド キューに設定できますか?

4

2 に答える 2

2

以下は、スクロールのパフォーマンスを確実に低下させます

  • AVPlayer の作成、10 fps ドロップ
  • AVPlayerLayer にプレーヤーを追加すると、15 fps が低下します
  • 再生開始、15/25 fps 低下
  • 再生を一時停止、15 fps 低下
  • AVPlayer の割り当てを解除すると、20 以上の fps が低下します

バックグラウンド スレッドから AVPlayer を割り当てようとしましたが、AVFoundation はメインに戻り、メインから割り当て/初期化を実行します。再生/一時停止も同様です。

バックグラウンド スレッドで AVPlayer/AVPlayerItem の割り当てを解除することに成功しました。基本的に、バックグラウンド スレッドから AVPlayer への最後の参照をクリアする必要があります。

于 2016-03-26T00:21:02.083 に答える