我们正在开发一个类似于SqliBits样本的MVVMCross Monotouch应用程序(UINavigationCOntroller有一个标签控制器,在标签控制器内部还有另一个导航控制器)。似乎内存已分配但从未发布。
要重现此错误,请使用探查器选择“会话”选项卡启动SqliBits示例,然后选择一天返回,选择一天返回,...然后查看内存分配,您将看到内存已分配但从未放过。
我可以附加图像,但重现错误相当容易。
此致 丹
答案 0 :(得分:0)
作为一个问题,已在https://github.com/slodge/MvvmCross/issues/19
上讨论过这个问题当内存不足时,iOS只会释放视图(通过View Controller ViewDidUnload方法) - 在模拟器中,这可以从硬件菜单中人工创建。
除此之外,还有一个小内存泄漏,看起来像是由RelayCommand中Action字段中对ViewModel的引用引起的。我不完全清楚是什么造成了这种情况,但是将Dispose方法添加到RelayCommand,这使得这个Action无效似乎已经解决了这个问题(参见https://github.com/slodge/MvvmCross/commit/8fc1af3fc9960445b5358daf8111f6bc9683b907)