Вопросы производительности при настройке мобильного приложения

Основой мобильного приложения Dynamics 365 Field Service является приложение на основе модели. Таким образом, общие рекомендации и лучшие практики для производительных приложений и соображения производительности для приложений на основе модели также применимы.

Удалите Console.log из производственного кода

Регистрация данных на консоль может увеличить нагрузку на память, так как консоль предотвращает очистку элементов. Также лучше не записывать данные на консоль во время производства, так как при этом можно непреднамеренно распечатать конфиденциальные данные, которые может наблюдать конечный пользователь. Это включает console.log, console.warn и console.error.

Если QuickNotes не используется, удалите веб-ресурс QuickNotes WebResource

Пакет элемента управления QuickNotes присутствует в Field Service дважды: один раз как элемент управления PCF, и один раз как веб-ресурс. Если элемент управления QuickNotes (или любой другой элемент управления) не будет использоваться, удалите bundle.js (если есть) с веб-ресурсов в свойствах формы. Это предотвратит загрузку кода элемента управления, когда в этом нет необходимости.

Пакет можно удалить, перейдя к форме резервирования и заказа на работу для сущности резервирования резервируемых ресурсов, открыв Свойства формы и удалив элемент cc_MscrmControls.FieldControls.QuickNotesControl/bundle.js со вкладки События.

Минимизация импорта пользовательского интерфейса Office в элементы управления PCF

Если использовать библиотеку @fluentui/react для интерактивных компонентов пользовательского интерфейса, можно импортировать больше модулей, чем предполагалось, в зависимости от того, как определен импорт. Указав конкретный путь, по которому вы импортируете компоненты, вы можете значительно уменьшить размер ваших компонентов (что приведет к необходимости загрузки меньшего количества данных).

Например:

import { Button } from '@fluentui/react'
should be written as: 
import { Button } from '@fluentui/react/lib/Button';

Используйте подключенные формы, чтобы свести к минимуму навигацию между различными сущностями

Field Service поддерживает возможность отображения полей из разных сущностей в одной и той же форме, что позволяет избежать необходимости переходить между разными формами. Сведение к минимуму навигации означает сокращение времени загрузки при переходе от одной сущности к другой и позволяет избежать любых возможных утечек памяти и проблем, возникающих при переходе между сущностями. Компоненты формы имеют более низкий пиковый объем памяти при переходе к ним по сравнению со сценариями, в которых вместо этого используется навигация быстрого поиска.

Для получения дополнительной информации см. документацию о том, как реализовать эту настройку: Настройка решения Field Service

Удаление неиспользуемых элементов управления из приложения

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