Skip to content

Commit bde48e6

Browse files
authored
some suggestions
1 parent 25783c2 commit bde48e6

1 file changed

Lines changed: 31 additions & 18 deletions

File tree

support/dynamics-365/field-service/mobile-app/webview-reset.md

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,53 @@ description: Helps resolve WebView reset issues in the Dynamics 365 Field Servic
44
author: JonBaker007
55
ms.author: jobaker
66
ms.reviewer: puneet-singh1
7-
ms.date: 07/04/2025
7+
ms.date: 07/09/2025
88
ms.custom: sap:Mobile Application\Application is throwing errors
99
---
10-
# WebView Reset Overview
10+
# Troubleshoot WebView reset in Dynamics 365 Field Service mobile app
1111

1212
This article helps you troubleshoot and resolve issues in the [Dynamics 365 Field Service mobile app](/dynamics365/field-service/mobile/overview), where the home page is unexpectedly displayed, and a WebView reset occurs.
1313

14-
A WebView reset error while using Field Service Mobile indicates that the code within the app module is using too much memory. The cause of a WebView reset is the activity that precedes it, which causes memory pressure on the WebView process. Model-driven Applications in Power Apps like Field Service are web applications that are run within a WebView on the mobile client. This leaves them susceptible to memory management policies that mobile operating systems impose on these processes.
14+
## What is a WebView reset?
1515

16-
## The Root Cause
16+
A WebView reset in the Dynamics 365 Field Service mobile app typically indicates that the app module is consuming too much memory. This is often triggered by activities that cause memory pressure on the WebView process. [Model-driven applications in Power Apps](/power-apps/maker/model-driven-apps/model-driven-app-overview), such as Dynamics 365 Field Service, run as web applications inside a WebView on the mobile client. As a result, they're subject to the memory management policies of the mobile operating system.
1717

18-
A WebView reset occurs when the mobile operating system terminates an application process that consumes too much memory. The threshold for "too much memory" varies by device and operating system and can affect how reliably the issue can be reproduced on a device. The WebView Reset error dialog is specific to iOS, which runs WebViews on separate, terminable processes outside of the core mobile application process. When this WebView process consumes more memory than the operating system tolerates, the WebView process is terminated. After the mobile system terminates the process to reclaim memory, the mobile application detects the loss of the WebView and restarts it, showing a message to the user indicating a WebView Reset occurred. On Android, the WebView isn't run on a separate process, so the entire application process is terminated, resulting in an application crash. WebView resets don't occur when using the application on a desktop browser, however the memory pressure buildup can still be present and investigated in this context.
18+
## Root cause
19+
20+
A WebView reset occurs when the mobile operating system terminates an application process that exceeds its memory limits. The threshold for "too much memory" varies by device and operating system, so the issue might not always be reproducible.
21+
22+
- **iOS:** The WebView reset error occurs only on iOS because WebViews run in separate processes that can be terminated independently from the main app. If the WebView process exceeds the operating system memory threshold, it's terminated. The app detects this, restarts the WebView, and displays a reset message to the user.
23+
- **Android:** The WebView runs within the main application process. If memory limits are exceeded, the entire app process is terminated, resulting in a crash.
24+
- **Desktop browsers:** WebView resets don't occur, but memory pressure can still be investigated using browser tools.
1925

2026
> [!IMPORTANT]
21-
> Poor memory management practices can affect the application experience when you create customizations.
27+
> Poor memory management in customizations can negatively impact the app experience.
28+
29+
## Understanding memory pressure
30+
31+
There are two main causes of memory pressure:
32+
33+
1. Memory spike
2234

23-
## Memory Pressure
35+
A memory spike occurs when a large object is allocated in the WebView process, causing a sudden increase in memory usage. Common causes include:
2436

25-
There are two common causes of memory pressure buildup to be aware of.
37+
- Storing Base64-encoded images or videos in variables within [Power Apps component framework](/power-apps/developer/component-framework/overview) controls or web resources.
38+
- Using JavaScript libraries that import large resource files (for example, font libraries.)
2639

27-
**Memory Spike** – A memory spike is when a large object is allocated into the WebView process and causes an immediate spike in memory usage. Examples include storing Base64 representations of images and videos in variables within Power Apps Component Framework controls and Web Resources or utilizing JavaScript libraries that import large resource files like font libraries. If you can reliably reproduce a WebView reset through an action like opening a specific form or interacting with a specific control, you're likely encountering a memory spike.
40+
If you can reliably reproduce a WebView reset by performing a specific action (like opening a form or control), a memory spike is likely the cause.
2841

29-
**Memory Leaks** – A memory leak is when memory is allocated within the WebView process but isn't cleaned up when no longer needed due to dangling pointers and references preventing garbage collection from reclaiming the allocated memory. This causes memory pressure buildup over time that can lead to a WebView reset. Examples include adding event listeners to the window object in JavaScript but not removing them when navigating away. If you can't reliably reproduce a WebView reset and seem to experience them at random while doing different activities within the application, you're likely encountering a memory leak in the previous activities that you performed before the reset.
42+
2. Memory leaks
3043

31-
## Debugging Memory Pressure
44+
A memory leak occurs when memory allocated within the WebView process isn't released because of lingering references, such as event listeners or objects that aren't properly cleaned up. This prevents the garbage collector from reclaiming the memory, causing memory usage to gradually increase over time. For example, adding event listeners to the window object in JavaScript without removing them when navigating away can lead to leaks. If WebView resets occur randomly and aren't tied to a specific action, it's likely due to a memory leak from previous activities.
3245

33-
The WebView reset error itself is specific to iOS applications running WebViews and can only be reproduced within that context. However, code that causes memory pressure on mobile also causes memory pressure buildup on desktop browsers. You can investigate the root cause of a WebView reset by using browser debug tools, like those provided by Microsoft Edge for tracking memory usage. Learn more in [Fix memory problems - Microsoft Edge Developer documentation](/microsoft-edge/devtools-guide-chromium/memory-problems/).
46+
## Troubleshooting memory pressure
3447

35-
You can also use these debugging tools on mobile devices: [Debugging JavaScript Code in Model-Driven Apps](/power-apps/developer/model-driven-apps/clientapi/debug-javascript-code).
48+
To diagnose and resolve memory pressure issues:
3649

37-
Use Safari memory analysis tools to check the memory performance of your iOS app module. Learn more in [Timelines Tab](https://webkit.org/web-inspector/timelines-tab/).
50+
- For iOS, use Safari memory analysis tools to check the memory performance of your iOS app module. For more information, see [the Timelines Tab in Web Inspector](https://webkit.org/web-inspector/timelines-tab/).
51+
- The WebView reset error is specific to iOS applications running WebViews and can only be reproduced within that context. However, code that causes memory pressure on mobile also causes memory pressure buildup on desktop browsers. You can investigate the root cause of a WebView reset by using browser developer tools (such as Microsoft Edge DevTools) to track memory usage and identify issues. For more information, see [Fix memory problems in Microsoft Edge DevTools](/microsoft-edge/devtools-guide-chromium/memory-problems/).
52+
- [Debug JavaScript code for model-driven apps](/power-apps/developer/model-driven-apps/clientapi/debug-javascript-code) to identify problematic scripts or customizations.
3853

39-
## Related content
54+
## More information
4055

41-
- [Debugging JavaScript Code in Model-Driven Apps](/power-apps/developer/model-driven-apps/clientapi/debug-javascript-code)
42-
- [Fix memory problems - Microsoft Edge Developer documentation](/microsoft-edge/devtools-guide-chromium/memory-problems/)
43-
- [Performance considerations when customizing the mobile app](/dynamics365/field-service/mobile/improve-mobile-performance)
56+
[Performance considerations when customizing the Dynamics 365 Field Service mobile app](/dynamics365/field-service/mobile/improve-mobile-performance)

0 commit comments

Comments
 (0)