2016-08-16 3 views
0

У меня есть ViewPager, который состоит из List of ScrollViews. Я хочу сделать снимок экрана из всех списков прокрутки после первой загрузки ViewPager.скриншот всех просмотров в ViewPager

После создания ViewPager я просматриваю представления и создаю растровые изображения, но получаю снимок экрана только для первых страниц, загружаемых за кадром. Если я использую команду:

pager.setOffscreenPageLimit(totalPages); 

, чем я могу получить все скриншоты. Однако этот подход является потребляемой памятью, и мое приложение вылетает с outOfMemory, когда ViewPager состоит из большого количества страниц.

Есть ли способ создать скриншот всех просмотров, даже тех, которые не предварительно загружены - offScreen?

ответ

1

Если вы не установили offScreenPageLimit(totalPages), ViewPager изначально загрузит еще 1 страницу, кроме вас. Это означает, что другие страницы не будут созданы даже до тех пор, пока вы не проведете там. Это также означает, что вы не можете снимать скриншот экрана/макета, который еще не создан/завышен. И да, это неправдоподобная практика, чтобы установить ограничение экрана на число, которое ViewPager загружает все страницы при запуске.

Нет, если вы имеете в виду потребление памяти. В противном случае, да.

Смежные вопросы