1

我们正在开发一个带有 MVVMCross 的 Monotouch 应用程序,类似于 SqliBits 示例(UINavigationCONtroller 有一个选项卡控制器,在选项卡控制器内部有另一个导航控制器)。似乎内存被分配但从未释放。

要重现此错误,请使用分析器选择 Sessions 选项卡启动 SqliBits 示例,然后选择返回日期,选择返回日期,...然后查看内存分配,您将看到内存已分配但从未释放.

我被允许附加图像,但重现错误相当容易。

问候,丹

4

1 回答 1

0

作为一个问题,这已在https://github.com/slodge/MvvmCross/issues/19上进行了讨论

iOS 仅在内存不足时释放视图(通过视图控制器 ViewDidUnload 方法)——在模拟器中,这可以从硬件菜单中人为地创建。

除此之外,还有一个小的内存泄漏,看起来它是由 RelayCommand 的 Action 字段中对 ViewModel 的引用引起的。我并不完全清楚是什么原因造成的,但是将 Dispose 方法添加到 RelayCommand 使此 Action 无效似乎已经解决了问题(请参阅https://github.com/slodge/MvvmCross/commit/8fc1af3fc9960445b5358daf8111f6bc9683b907

于 2012-08-02T12:03:36.970 回答