Исключение неанимированного UIViewController из встраиваемого UITableView, вызывающего проблемы с производительностью (кажется, задерживается более 200 мс) иногда - PullRequest
0 голосов
/ 11 января 2020

Сводка

При удалении представленного UIViewController из встраиваемого UITableView путем выбора ячейки без какой-либо анимации (animated: false), я считаю, что обычно это вызывает менее 50 мс, но иногда (1 ~ 2 из 10 раз) это приведет к более чем 200 мс, чтобы пользователь мог почувствовать влияние на производительность (очевидная задержка). Проект тестирования и журнал загружены ниже.

Среда тестирования:

  • macOS 10.14.6
  • iOS 12 & 13
  • Xcode 11.3 (11C29)

Шаги для воспроизведения: (из проекта тестирования)

  1. Запустите приложение
  2. Нажмите кнопку «Кнопка»
  3. Нажмите на любую ячейку из представленного UITableView (который фактически встроен в UIViewController)
  4. Представленный UIViewController отклонен

Ожидаемые результаты:

на шаге 4 , UIViewController отключается в течение 50 мс (как обычно) каждый раз, и никаких явных задержек или задержек (?) не происходит

Фактические результаты:

в шаге 4, 1 ~ 2 из 10 раз (Вероятность 10% ~ 20%) UIViewController отклоняется более чем на 200 мс, и пользователь может почувствовать очевидную задержку производительности / отставание

Проект тестирования ниже: https://github.com/inexcii/issue-dismiss-presented-tableview

Кто-нибудь сталкивался с такой же проблемой, и если да, то каков ваш обходной путь?

, кстати, я уже eady открыл отчет об ошибках для Apple и open-radar .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...