Я заметил, что RxSwift тормозит приложение, я не знаю, это моя вина или фреймворк.
У меня есть привязка внутри пользовательского класса UICollectionViewCell, который запускается для настройки ячейки. Например, эта часть кода:
viewModel.observableIsHighlighted.asDriver().drive(onNext: { isHighlighted in
// do nothing
}).disposed(by: disposeBag)
viewModel.observableIsMarked.asDriver().drive(onNext: { isMarked in
// do nothing
}).disposed(by: disposeBag)
где observableIsHighlighted
, observableIsMarked
- это просто BehaviorRelay<Bool>
, занимает около 16-20 миллисекунд, что, конечно, неприемлемо для UICollectionView.
Еще такая часть:
imageViewTapGestureRecognizer.rx.event.bind(onNext: { _ in
// do nothing
}).disposed(by: disposeBag)
занимает около 12 миллисекунд.
Вопрос
Что-то не так в моем подходе или привязка в RxSwift не точна для таких представлений, как UICollectionView
?
Конечно, я предполагаю, что привязка в RxSwift как раз для таких вещей, как UICollectionView
.
Изменить
Как я измеряю время?
Я использую CACurrentMediaTime()
, умноженное на 1000
. Я знаю, что это лучший способ, но довольно простые методы всегда занимают 0 мс, поэтому предлагается улучшить методы 10-20 мс.