Windows phone 8 如何在MvvmCross中释放视图和视图模型?

Windows phone 8 如何在MvvmCross中释放视图和视图模型?,windows-phone-8,mvvmcross,Windows Phone 8,Mvvmcross,我试图了解MvvmCross如何管理Windows Phone上的内存 我尝试将我的视图和viewmodel标记为IDisposable,但从未调用Dispose方法 我需要做的是确保我的应用程序在后台运行位置跟踪时可以释放一些资源 基督教在MvvmCross中: 每个视图都引用其ViewModel 特定于平台的操作系统决定何时取消对视图的引用-发生这种情况时,它通常会调用视图上的方法(但这取决于视图是否为页面、选项卡、弹出按钮、对话框、自定义控件等) Net或Mono垃圾收集器然后决定何时从

我试图了解MvvmCross如何管理Windows Phone上的内存

我尝试将我的视图和viewmodel标记为IDisposable,但从未调用Dispose方法

我需要做的是确保我的应用程序在后台运行位置跟踪时可以释放一些资源

基督教

在MvvmCross中:

  • 每个视图都引用其ViewModel
  • 特定于平台的操作系统决定何时取消对视图的引用-发生这种情况时,它通常会调用视图上的方法(但这取决于视图是否为页面、选项卡、弹出按钮、对话框、自定义控件等)
  • Net或Mono垃圾收集器然后决定何时从内存中收集视图和ViewModels
如果要在“页面级别”视图可见时对视图进行更多“主动”监视,则需要监视“页面级别”视图特定的事件,如:

  • viewdide出现
    \
    viewdide消失
    \
    removeFromParentViewController
    (iOS)
  • OnResume
    \
    OnPause
    `OnFinish`(Droid)
  • OnNavigatedTo
    `OnNavigatedFrom`(Windows)
然后,可以在
ViewModel
上的自定义界面上轻松调用这些事件的一般形式(如果需要,这可以识别-这是您的应用程序代码)

更新:我已经在博客上发布了一个示例-请参阅

下面是关于这方面的更多信息:

  • (请参阅“没有简单的通用方法可以知道何时处理ViewModel-尤其是当您开始混合和匹配ViewModel演示样式以包括导航、选项卡、拆分视图、弹出型按钮、片段、列表等,以及当您包括越来越多的平台时”)
在MvvmCross中:

  • 每个视图都引用其ViewModel
  • 特定于平台的操作系统决定何时取消对视图的引用-发生这种情况时,它通常会调用视图上的方法(但这取决于视图是否为页面、选项卡、弹出按钮、对话框、自定义控件等)
  • Net或Mono垃圾收集器然后决定何时从内存中收集视图和ViewModels
如果要在“页面级别”视图可见时对视图进行更多“主动”监视,则需要监视“页面级别”视图特定的事件,如:

  • viewdide出现
    \
    viewdide消失
    \
    removeFromParentViewController
    (iOS)
  • OnResume
    \
    OnPause
    `OnFinish`(Droid)
  • OnNavigatedTo
    `OnNavigatedFrom`(Windows)
然后,可以在
ViewModel
上的自定义界面上轻松调用这些事件的一般形式(如果需要,这可以识别-这是您的应用程序代码)

更新:我已经在博客上发布了一个示例-请参阅

下面是关于这方面的更多信息:

  • (请参阅“没有简单的通用方法可以知道何时处理ViewModel-尤其是当您开始混合和匹配ViewModel演示样式以包括导航、选项卡、拆分视图、弹出型按钮、片段、列表等,以及当您包括越来越多的平台时”)
还有其他想法还有其他想法