私はUICollectionView
のセルにそれぞれAVPlayerLayer
を持ち、同時にビデオを再生しています。一度に画面に約9個のセルが収まるので、かなり遅いのでスムーズなスクロールを実現するためにパフォーマンスを向上させる方法が必要です。すでに試したことがいくつかあります:UICollectionView&AVPlayerパフォーマンス
1)各セルにはAVPlayer
というインスタンスが1つしかありません。作成されず、ビデオURLが変更されたときにplayer.replaceCurrentItemWithPlayer
が呼び出されます。
2)ReactiveCocoaを使用しているため、同じビデオを2回再生することを避けるために繰り返しURLをスキップするのは簡単です。
スクロールとパフォーマンスを向上させるために他に何ができますか?
アイテムを再生していないAVPlayerは、後でのみリソースを消費しません。リソースの使用量/メモリ使用量を減らすには、AVPlayerのプレーヤー項目をnilに設定します。 –
リアルタイムのビデオプレビュー(一度に16まで:https://youtu.be/7QlaO7WxjGg)を使った完璧に滑らかなスクロールコレクションビューの最新の反復です。これは、カバーフローのカスタムレイアウトと「反射」ビューを使用していますソースコードはここにあります:http://www.mediafire.com/download/ivecygnlhqxwynr/VideoWallCollectionView.zip –