分享方式:


自訂行動應用程式時的效能考量

Dynamics 365 Field Service 行動應用程式的基礎是模型導向應用程式。 因此,高效能應用程式的一般準則和最佳做法以及模型導向應用程式的效能考慮因素也適用。

從實際程式碼移除 Console.log

將資料記錄至主控台可能會增加記憶體壓力,因為主控台會阻止清理項目。 在實際執行期間,也最好不要將資料記錄至主控台,因為這樣可能會無意中列印出終端使用者看得見的敏感性資料。 這包括 console.logconsole.warnconsole.error

如果不使用快速筆記,請移除快速筆記 Web 資源

快速筆記控制項套件組合會在 Field Service 中出現兩次:一次是做為 PCF 控制項,另一次是 Web 資源。 如果不使用快速筆記控制項 (或任何其他控制項),請從表單屬性的 Web 資源中移除控制項的 bundle.js (如果有的話)。 這可避免在不需要時下載控制項程式碼。

如需移除組合套件,請移至可預約資源預約實體的預約和工單表單、開啟表單屬性,然後從事件索引標籤移除 cc_MscrmControls.FieldControls.QuickNotesControl/bundle.js 項目。

縮減 PCF 控制項中的 Office UI 匯入

如果使用互動式 UI 元件的 @fluentui/react 程式庫,則可以根據定義匯入的方式,匯入比預期更多的模組。 您可以明確指定要從中匯入元件的路徑,大幅減少元件的大小 (從而減少需要下載的資料)。

例如:

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

使用連接的表單,將不同實體間的導覽減至最少

Field Service 支援在相同表單中顯示來自不同實體之欄位的功能,這可避免在不同表單之間跳轉。 將導覽減至最少意味著避免在從一個實體轉換至另一個實體時載入的次數,而且可以避免任何可能在跳轉於實體之間時發生的記憶體流失和問題。 與使用快速尋找導覽的情況相比,瀏覽至表單元件時,這些元件的記憶體峰值反而較低。

如需詳細資訊,請參閱有關如何實作此自訂的文件:自訂 Field Service 解決方案

從應用程式中移除未使用的控制項

如果應用程式使用者未在行動應用程式中使用特定控制項,請考慮將其移除以減少記憶體使用量。 表單中有不必要的控制項會增加應用程式耗用的記憶體,造成效能下降。 例如,預設會在數個表格與表單上包含時間表控制項。 如果您的案例沒有使用時間表,請考慮將其移除以減少記憶體耗用。