При добавлении эффектов, css, переходов, настраиваемых элементов управления и других сложных вещей, которые обычно отлично работают на настольных компьютерах, может быть большая потеря производительности при переносе на мобильные устройства.
Эффекты
Хотя эффекты придают узлам или панелям необычный вид, они оказывают самое негативное влияние на производительность на мобильных устройствах.
Старайтесь не применять их к узлам, которые сильно меняются, например к ячейкам элементов управления ListView, TableView или ComboBox.
Кроме того, если вы примените их к родителю с указанными дочерними элементами (ListView,...), родитель (и эффект) будут отображаться все время, если дочерние элементы станут недействительными (после прокрутки или подобного).
Если вам действительно нужен эффект над этим родителем, попробуйте разделить родительский и дочерний элементы.
Вместо:
parent (Pane with effect)
|-- ListView
вы можете сделать что-то вроде:
parent (StackPane without effect)
|-- Pane (with effect)
|-- ListView
Поскольку панель не сильно изменится, вы можете использовать Cache поверх нее. Как правило, стратегия кэширования работает путем рендеринга изображения узла (панели с эффектом), вместо того, чтобы заново создавать узел и этот эффект заново, так что это быстрый выигрыш:
parent (StackPane without effect)
|-- Pane (with effect) and with Cache
|-- ListView
Напротив, не используйте кеш на узлах, которые сильно меняются (например, ListView).
CSS
Сложный CSS требует много времени процессора. Попробуйте упростить его. Даже вы можете удалить весь CSS для быстрого теста. Затем решите, что вы можете или не можете использовать.
Попробуйте также заменить некоторые стили кодом.
Анимация
То же самое касается анимации: по возможности избегайте анимации и переходов.
Количество узлов и настраиваемых элементов управления
Чем больше количество узлов, тем ниже производительность, поэтому постарайтесь свести ее к минимуму (заменяя сложный контент изображениями, холстом, когда это возможно).
Переключение сцен
Мобильные экраны меньше, и лучше иметь меньше контента в каждой сцене, чем на десктопе. Также важно избегать переключения сцен или сцен. Вместо этого используйте разные узлы и замените их на одну и ту же сцену.
Gluon Charm использует View
узлы и простой способ переключения между различными представлениями: MobileApplication.getInstance().switchView("other view name")
.
Изображения
Наконец, при использовании изображений, загруженных из Интернета или загруженных из файла, стратегии кэширования являются обязательными. Взгляните на те, что предоставлены Gluon Очарование вниз.
person
José Pereda
schedule
29.06.2016