C# “如何检测”;OutOfMemory“;在UWP或UWP等效物中;我收到了“记忆警告”;在ios中
UWP应用程序中是否有与ios“DidReceiveMemoryWarning”类似的功能 我想在UWP应用程序抛出任何错误之前检测SystemOutOfMemory 提前谢谢 Noorul在UWP中,您可以使用事件来检测,当应用程序的内存消耗在AppMemoryUsageLevel枚举中增加到更高的值时,会引发该事件C# “如何检测”;OutOfMemory“;在UWP或UWP等效物中;我收到了“记忆警告”;在ios中,c#,uwp,out-of-memory,didreceivememorywarning,C#,Uwp,Out Of Memory,Didreceivememorywarning,UWP应用程序中是否有与ios“DidReceiveMemoryWarning”类似的功能 我想在UWP应用程序抛出任何错误之前检测SystemOutOfMemory 提前谢谢 Noorul在UWP中,您可以使用事件来检测,当应用程序的内存消耗在AppMemoryUsageLevel枚举中增加到更高的值时,会引发该事件 Windows.System.MemoryManager.AppMemoryUsageIncreased += MemoryManager_AppMemoryUsageIncre
Windows.System.MemoryManager.AppMemoryUsageIncreased += MemoryManager_AppMemoryUsageIncreased;
private void MemoryManager_AppMemoryUsageIncreased(object sender, object e)
{
// do something
}
是的,我们需要使用
MemoryManager.appmemoryusage
事件,这要感谢@Faywang-MSFT的回答,但我们只需要做很少的工作
即使在应用程序启动时,也将调用此MemoryManager.AppMemoryUser
。我对这种行为有点困惑,最终发现我们需要检查该事件中的内存使用情况
这是我使用的确切代码
private void MemoryManager_AppMemoryUsageIncreased(object sender, object e)
{
// Obtain the current usage level
var level = MemoryManager.AppMemoryUsageLevel;
// Check the usage level to determine whether reducing memory is necessary.
// Memory usage may have been fine when initially entering the background but
// the app may have increased its memory usage since then and will need to trim back.
if (level == AppMemoryUsageLevel.OverLimit || level == AppMemoryUsageLevel.High)
{
HandleOutOfMemory();
}
}
这是我得到这个答案的线索。
是否存在,我们可以在调试时对其进行测试!您可以添加一些消耗内存的操作来测试它。