У меня есть фрагмент, который имеет viewpager, назовем его fragmentA
. Для этого я использую FragmentStatePagerAdapter. Проблема возникает, когда я заменяю fragmentA
другим фрагментом. По какой-то причине приложение вызывает некоторую задержку в течение одной или двух секунд, прежде чем совершить следующий фрагмент. Анимации также не запускаются. Я думаю, что Android уничтожает внутренние фрагменты, прежде чем заменять их, а внутренние фрагменты имеют списки в них, что заставляет приложение отставать. Есть ли способ обойти это?Как предотвратить отставание при уничтожении фрагмента, имеющего 4 других фрагмента внутри зрителя?
Q
Как предотвратить отставание при уничтожении фрагмента, имеющего 4 других фрагмента внутри зрителя?
0
A
ответ
0
Все зависит от скорости и ОЗУ устройства. Перед отображением на экране зрителю придется вымачивать всех своих детей. В результате задержка на некоторых устройствах
Вы пытались добавить фрагменты в свой фрейм, а затем с помощью hide() и show() вместо замены фрагмента каждый раз? –
Не будет ли это слишком интенсивным для памяти и может вызвать утечку памяти? –
Возможно, я избегаю использования транзакций Fragment, в настоящее время я создал невидимый просмотрщик и добавил к нему свои фрагменты вместо использования фрейма. viewpager уничтожает и воссоздает фрагменты в зависимости от параметра OffScreenPageLimit. Я также установил viewpager. –