【发布时间】:2015-05-05 15:28:38
【问题描述】:
导航回我的 MvxTabsFragmentActivity 时,我的应用程序不断崩溃。
MvxTabsFragmentActivity 由 4 个选项卡组成,它们都是相同类型的 Fragment,加载相同的 View 但具有不同的 ViewModel。 Fragments 显示了一个简单的 MvxListView,其中附加了一个打开新 ViewModel 的命令。
当导航回应用程序崩溃。 用那个记录:
03-04 16:07:09.530 I/ActivityManager(414): 显示 MobileVision.Droid/MyApp.droid.views.SecondView: +5s373ms
03-04 16:07:10.870 I/mono-stdout(2192): mvx:Diagnostic: 71.48 未找到候选视图 MyListFragment 的视图模型关联
03-04 16:07:10.942 I/mono-stdout(2192): mvx:Diagnostic: 71.58 未找到候选视图 MyListFragment 的视图模型关联
03-04 16:07:11.010 I/mono-stdout(2192): mvx:Diagnostic: 71.61 没有为 LoadViewModel 中的 MyListFragment 指定 ViewModel 类
03-04 16:07:11.386 I/Choreographer(414):跳过 32 帧!应用程序可能在其主线程上做了太多工作。
03-04 16:07:20.798 W/ActivityManager(414):启动超时已过期,放弃唤醒锁!
03-04 16:07:20.818 E/WindowManager(414): 启动窗口 AppWindowToken{5292ce60 token=Token{52c32c18 ActivityRecord{529a544c u0 MyApp.Droid/MyApp.droid.views.FirsViewModelView t9}}} 超时
任何人有任何解决方案/想法在哪里搜索?因为任何地方都没有抛出异常.. :-(
PS:我构建了与 FragmentSample 完全相同的简洁设置,但随后在 Fragment 中使用简单的 MvXListView 导航到新屏幕。
编辑:
- 使日志更易读
- 以下情况似乎会发生异常:
- 打开应用程序
- 导航到其他选项卡
- 导航到新活动(通过 Button 或 ListViewItem,无所谓)
- 向后导航
- 崩溃/或重复第 3 步和第 4 步
注意:当不执行第 2 步(切换 TAB)时,应用似乎不会崩溃
【问题讨论】:
-
这是什么意思 没有为候选视图 MyListFragment 找到视图模型关联 或 that_71.61 在 LoadViewModel_ 或其他“否”消息中没有为 MyListFragment 指定 ViewModel 类?也许这就是原因。
-
我看过它,当 TabActivity 页面加载时,我用 4 个相同的 ViewModel 加载了 4 个相同的片段。也许它与处置的片段或视图模型有关,但我找不到它。
-
@Kumiho 我的评论的意思是;我无法弄清楚,这就是我在 Stackflow 上发布这个问题的原因。我现在看了一些我们的,我认为它与 Fragments 和/或 MVVMCross ViewModels 的不同生命周期有关,但我似乎无法很好地跟踪 Fragments 和 MVVMCross 中的所有移动对象。今天我将尝试更好地了解 Fragment 的生命周期,但如果有人有任何提示,非常欢迎您指出,因为我无法想象我是唯一一个遇到这个问题的人。
-
您尝试过最新的 alpha 版本吗?这些包含修复,如github.com/MvvmCross/MvvmCross/pull/915
-
@Stuart,我刚刚发现它,看起来像同样的问题......我工作,不再崩溃,TNX。你能说一下它什么时候会发布到 NuGet 吗?