Как улучшить производительность MPVolumeView?

Я работаю над проектом iOS, связанным с потоком видео. Одним из элементов управления в пользовательском интерфейсе является MPVolumeView. Проблема в том, что когда я сменю элемент управления для громкости изменения, он, похоже, использует много CPU. И на самом деле, пользовательский интерфейс становится медленным, когда я использую слайдер. Как улучшить производительность? Может быть, я делаю что-то неправильно?

Образное изображение для загрузки процессора из инструментов. В левой только потоковой передаче, пики справа были потоковой + объемный слайд.

Образное изображение для загрузки процессора из инструментов. В левой только потоковой передаче, пики справа были потоковой + объемный слайд.

Благодарю.

РЕДАКТИРОВАТЬ:

Вот как я добавляю элемент управления к виду:

MPVolumeView *mpVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(32, 56, 160, 9)]; [self addSubview:mpVolume]; [mpVolume release]; 

«self» – это пользовательский вид, наследуемый от UIView, но я не использую xib и drawRect. Я просто добавляю все элементы управления в метод initWithFrame: frame.

One Solution collect form web for “Как улучшить производительность MPVolumeView?”

Посмотрите, сколько раз вызывается init с фреймом. Иногда я видел, как его вызывали не один раз, а иногда и часто, в зависимости от ситуации. Вероятно, вы захотите только Alloc-представление тома, когда представление сначала настроено. Похоже, он может снова и снова настраивать громкость.

Один из потенциалов заключается в том, чтобы сделать представление объема классом (частным или общедоступным)

  @property (nonatomic, retain) MPVolumeView *mpVolume; 

Тогда, конечно … @synthesize mpVolume = _mpVolume

Затем в initWithFrame просто проверьте и посмотрите, нет ли nil, а затем укажите

  if(_mpVolume == nil){ _mpVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(32,56,160,9)]; [self addSubview:_mpVolume]; } 

Затем отпустите mpVolume в dealloc

  • Поток RTSP в объективе C
  • Декодирование H264 API VideoToolkit завершается с ошибкой -12911 в VTDecompressionSessionDecodeFrame
  • Ошибка при воспроизведении видео в MPMoviePlayerController
  • Политика Apple для приложений для трансляции в прямом эфире http
  • Плейлисты HLS «EVENT» не могут начать играть в игроках
  • Как отправить потоковое видео на WOWZA-сервер с помощью RTSP из приложения iOS?
  • Обзор приложения iOS - потоковое видео MPEG-DASH более 10 минут
  • Wistia Video продолжает загружаться в iPhone 6
  • HTTP Прямая трансляция длительностью менее 10 секунд?
  • Почему значок многофункционального экрана MPMoviePlayerController изменился на значок подписи в iOS 10?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.