【发布时间】:2017-11-23 23:00:34
【问题描述】:
我对 Xamarin.Forms MainPage 属性在内存泄漏方面存在疑问。
比如说我用 LoginPage 启动了我的应用程序
App.cs
MainPage = new LoginPage();
登录成功后, 登录页面.cs
MainPage = new NavigationPage(new HomePage());
LoginPage 实例会发生什么?在垃圾收集器收集它之前,它会一直保留在内存中,还是被销毁?
【问题讨论】:
-
GC 会处理它,除非你选择明确地处理它
-
它的问题,因为页面可能有图像/大内容.. 加载到 RAM 中是不好的。难道我们没有像Android一样的完成当前页面并开始新的选项吗!
-
这是怎么回事?垃圾收集器会清理它,如果你真的想立即清理它,在你的页面上实现 IDisposable 并做一个简单的检查并正确清理它。或者,您可以强制垃圾收集器运行,但这不是推荐的做法。
-
我强烈建议复习 Xamarin GC。 developer.xamarin.com/guides/android/advanced_topics/….
标签: xamarin xamarin.forms