Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

WebView.SetMemoryUsageTargetLevel

Sets MemoryUsageTargetLevel to indicate desired memory consumption level of WebView.

Component Version macOS Windows Linux Server iOS SDK
WebView 15.4 ❌ No ✅ Yes ❌ No ❌ No ❌ No
MBS( "WebView.SetMemoryUsageTargetLevel"; WebViewerRef; Value )   More

Parameters

Parameter Description Example
WebViewerRef Either the Web Viewer Object Name or the Web Viewer ID as returned by "WebView.FindByName" function. $webView2
Value The new setting.
Pass 0 for normal and 1 for low.
0

Result

Returns OK or error.

Description

Sets MemoryUsageTargetLevel to indicate desired memory consumption level of WebView.
Value is 0 for normal and 1 for low.

Scripts will not be impacted and continue to run. This is useful for inactive apps that still want to run scripts and/or keep network connections alive and therefore could not call TrySuspend and Resume to reduce memory consumption. These apps can set memory usage target level to kMemoryUsageTargetLevelLow when the app becomes inactive, and set back to kMemoryUsageTargetLevelNormal when the app becomes active.

It is not necessary to set CoreWebView2Controller's IsVisible property to false when setting the property. It is a best effort operation to change memory usage level, and the API will return before the operation completes. Setting the level to kMemoryUsageTargetLevelLow could potentially cause memory for some WebView browser processes to be swapped out to disk in some circumstances. It is a best effort to reduce memory usage as much as possible. If a script runs after its related memory has been swapped out, the memory will be swapped back in to ensure the script can still run, but performance might be impacted. Therefore, the app should set the level back to kMemoryUsageTargetLevelNormal when the app becomes active again. Setting memory usage target level back to normal will not happen automatically.

An app should choose to use either the combination of TrySuspend and Resume or the combination of setting MemoryUsageTargetLevel to low and normal. It is not advisable to mix them. Trying to set MemoryUsageTargetLevel while suspended will be ignored. The TrySuspend and Resume methods will change the MemoryUsageTargetLevel. TrySuspend will automatically set MemoryUsageTargetLevel to low while Resume on suspended WebView will automatically set MemoryUsageTargetLevel to normal. Calling Resume when the WebView is not suspended would not change MemoryUsageTargetLevel.

See also

Release notes

Blog Entries

This function checks for a license.

Created 21st July 2025, last changed 21st July 2025


WebView.SetMediaVolume - WebView.SetPageSizeMultiplier