Перейти к содержанию
Fire Monkey от А до Я
  • 0

Задержка при первом переключении формы (Android)


Anasazi

Вопрос

Всем привет. Есть приложение под Android, используются 2 формы. Так вот при первом переключении есть заметная задержка (фриз). Четко чувствуется на всех устройствах. При следующих переключениях такого не наблюдается. Может быть кто-то сталкивался с такой проблемой, подскажите пожалуйста пути решения.

Изменено пользователем Andrey Efimov
Поправил заголовок
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
14 часов назад, Rusland сказал:

Может быть много стилей и они загружаются?

Используется один из стандартных стилей. Может конечно стиль загружается. На более слабых устройствах очень заметно это.

Ссылка на комментарий
  • 0
  • Модераторы

При первом появлении стили еще не подгружены, их можно прогрузить заранее

Возможно это решит проблему

 

Ссылка на комментарий
  • 0
В 19.01.2017 в 10:06, Равиль Зарипов (ZuBy) сказал:

При первом появлении стили еще не подгружены, их можно прогрузить заранее

Возможно это решит проблему

 

Этот пример я видел. Но тут есть один нюанс, в примере подгружаются стили MultiView1, 

PreloadContent(MultiView1);

А для какого компонента подгружать стили мне?  PreloadContent(Form2) сделать не получится, при компиляции ругается. Может быть попробовать для всех компонентов формы?

Ссылка на комментарий
  • 0
  • Модераторы

ну самое простое наверное кинуть TLayout на форму и все контролы переместить на него

PreloadContent(Layout1);
Ссылка на комментарий
  • 0
В 20.01.2017 в 13:26, Равиль Зарипов (ZuBy) сказал:

ну самое простое наверное кинуть TLayout на форму и все контролы переместить на него


PreloadContent(Layout1);

Всегда первым делом кидаю на форму Layout и сейчас по првычке сделал так-же не смотря что на нем сверху еще TGridPanelLayout. Пробовал как вы сказали, не помогает.

Ссылка на комментарий
  • 0
В 21.01.2017 в 05:17, krapotkin сказал:

неплохо бы узнать, что за форма такая, что сильные тормоза?

возможно есть пути оптимизации, вместо придумывания объезда?

На форму кинут Tlayout, на него TGridPanelLayout. В принципе из необыного только TGridPanelLayout (первый раз его использую). Внизу 4 компонента TImage.

 

Скрин Кунгур.png

Ссылка на комментарий
  • 0
1 час назад, krapotkin сказал:

из "ничего такого" там веббраузер лежит

уберите его на время и посмотрите

Проблема оказалась не, в веббраузере, а в TImage внизу. Убираю их и все нормально. Как решить пока только не знаю.

Ссылка на комментарий
  • 0
  • Модераторы
42 минуты назад, Anasazi сказал:

Проблема оказалась не, в веббраузере, а в TImage внизу. Убираю их и все нормально. Как решить пока только не знаю.

попробуйте использовать шрифт

Ссылка на комментарий
  • 0
1 час назад, Равиль Зарипов (ZuBy) сказал:

попробуйте использовать шрифт

В нижней стоке нет компонентов использующих текст, это все картинки.

Ссылка на комментарий
  • 0

Удалось существенно снизить задержку, использовал код Ярослава.

 

 var
    Buffer: TBitmap;
  begin
    // Draw to Bitmap force to load all styles, measure size, build font-glyphs etc
    Buffer := TBitmap.Create(1, 1);
    try
      Buffer.Canvas.BeginScene;
      try
        MultiView.PaintTo(Buffer.Canvas, Control.LocalRect);
      finally
        Buffer.Canvas.EndScene;
      end;
    finally
      Buffer.DisposeOf;
    end;
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...