Я работаю с некоторыми фрагментами, но анимация перехода при переключении с одного на другой очень запаздывает, а иногда даже пропускает всю анимацию (которую я читал, что иногда является результатом плохой производительности фрагмента).
Очень интригующе то, что все мои выборки и вычисления данных в этом фрагменте выполняются полностью асинхронно c с использованием сопрограмм, установленных в вычислительных потоках. И списки массивов, содержащие данные, даже не длинные или имеют много параметров. Единственное, что я делаю на UI thead, - это установить окончательный список на адаптере RecyclerView и notifyDataSetChanged () -> вот и все! Таким образом, мой вывод заключается в том, что именно инфляция ViewHolder является причиной задержки. XML-макеты для ViewHolders также очень легкие (рисуемое разрешение и три строки).
В терминах транзакций фрагментов я заменяю текущий фрагмент новым в моем FrameLayout и фиксирую, используя собственный набор XML объектные аниматоры.
Я видел несколько ответов, в которых говорилось, что я должен отложить настройку элементов на адаптере примерно на 2 секунды, но, черт возьми, конечному пользователю будет очень плохо ориентироваться в этом фрагменте и ждать 2 секунды на белом экране, прежде чем данные внезапно обнаруживаются. Я хочу плавного перехода со скоростью 60 кадров в секунду к новому фрагменту с уже отображенными данными.
Возможно ли это даже на Android? Я не фанат яблок, но с точки зрения анимации и плавности, устройства iOS терпят крушение c в беспорядке, который Android в этой теме.
Мне нужны какие-либо советы или даже примеры, чтобы показать мне, как решить эту проблему.
Спасибо!