Как уменьшить задержку StaticLayout при использовании длинного текста - PullRequest
2 голосов
/ 29 апреля 2020

Я использую StaticLayout, чтобы разбить текст на страницы для создания приложения epub, и у меня есть текст, содержащий 16 000 строк.

Объект StaticLayout создается примерно через 6 секунд, и он очень медленный.

Как я могу сократить это время или есть другой способ использовать StaticLayout вместо этого?

1 Ответ

1 голос
/ 01 мая 2020

Проблема в том, что вы пытаетесь выложить все это сразу. Выкладывание 16 000 строк текста стоит дорого . Это займет нетривиальное время даже на настольном компьютере с мощным процессором, а вы пытаетесь сделать это на телефоне.

Вместо этого используйте прогрессивный подход. Возьмите примерное количество текста, которое вы ожидаете разместить на одной странице - возможно, 1000 символов. Вы можете настроить это значение. Выложите это, посмотрите, достаточно ли этого, а затем выложите больше, если необходимо.

Вы можете использовать DynamicLayout, чтобы сделать это эффективно. Обязательно передайте его Editable при его создании, чтобы можно было обновлять макет по мере добавления текста.

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