如何使用 xamarin 表单捕获 DidReceiveMemoryWarning。
在 xamarin studio 中调试时,我可以在应用程序输出中看到它们,但我找不到如何捕获事件或如何查看使用了多少内存。
我尝试了 AppDomain.CurrentDomain.MonitoringTotalAllocationMemorySize 但它抛出了未实现的异常
最佳答案
有 3 种方法可以在 iOS 中捕获内存警告(或者至少是我所知道的:)
这三种方式是:
在 ViewController 中,您可以重写
DidReceiveMemoryWarning()
并在那里处理警告。这对于 Xamarin.Forms 来说并不是最好的方法,因为您没有 UIViewController 来重写这些方法,因此请继续选择选项 2 和 3。在您的
AppDelegate
中,重写ReceiveMemoryWarning
方法。当 iOS 内存不足时,该函数将会被触发。您可以将此方法连接到 PCL 代码上的任何代码,或者仅在特定于平台的项目中处理它。public override void ReceiveMemoryWarning (UIApplication application) { // handle low memory warnings here }
您可以使用 iOS 通知中心在出现内存警告时接收通知。这可以这样做:
// Method style void Callback (NSNotification notification) { Console.WriteLine ("Received a notification UIApplication", notification); } void Setup () { NSNotificationCenter.DefaultCenter.AddObserver (UIApplication.DidReceiveMemoryWarningNotification, Callback); }
然后您可以将此“CallBack”连接到您的 PCL 项目以释放一些内存。
您还可以使用模拟器在模拟器上进行测试
Hardware >> Simulate Memory Warnings
关于xamarin - 使用 Xamarin Forms 在 IOS 中接收内存警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547422/