Как улучшить производительность 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

  • Wistia Video продолжает загружаться в iPhone 6
  • Почему значок многофункционального экрана MPMoviePlayerController изменился на значок подписи в iOS 10?
  • Удерживание скорости передачи потока HLS программно на устройствах iOS
  • Проблема потоковой передачи видео
  • Потоковое видео во время загрузки iOS
  • Создание потокового видеопроигрывателя для iOS без AVPlayer
  • Как отображает AVSampleBufferDisplayLayer H.264
  • MPMoviePlayerController воспроизводит локальный файл, но не удален через HTTP
  • Воспроизведение потока байтов на iPhone MPMoviePlayerController
  • Как отправить потоковое видео на WOWZA-сервер с помощью RTSP из приложения iOS?
  • Interesting Posts

    Автоматическая компоновка, поворот экрана и анимация UIView

    Как использовать конкретную точку с помощью Xcode UITests

    Приостановка автоматической компоновки во время просмотра

    Есть ли способ предотвратить iOS6, чтобы убить конкретный процесс задачи?

    Swift2.0: Как получить как возвращаемое значение, так и ошибку с помощью try catch

    Единый сертификат SSL на нескольких серверах для отправки Push-уведомлений в одно и то же приложение

    Динамическое перемещение (анимация) UITextField

    Добавление UIButton в каждом UICollectionViewCell в прокручивающемся диалоговом окне в UITableView

    Приложение Meteor работает на iOS-симуляторе, но не на физическом устройстве (iPhone) на Xcode

    Как заставить UILabel нарисовать текст с помощью символов верхнего регистра?

    Получение XCode для включения, компиляции и связывания существующей (C ++) кодовой базы в XCode 4.3 (.1)

    Воспроизведение видео из потока в реальном времени, а также сохранение потока на диск в iOS

    iOS – Разработка приложения для iPhone для потоковой передачи видео на компьютер?

    Создать потокобезопасный массив в быстром

    Objective-C с OpenSSL – невозможно установить ключ RSA

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.