【问题标题】:App crashes when navigating back to MvxTabsFragmentActivity导航回 MvxTabsFragmentActivity 时应用程序崩溃
【发布时间】: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 导航到新屏幕。

编辑: - 使日志更易读
- 以下情况似乎会发生异常:

  1. 打开应用程序
  2. 导航到其他选项卡
  3. 导航到新活动(通过 Button 或 ListViewItem,无所谓)
  4. 向后导航
  5. 崩溃/或重复第 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 吗?

标签: android xamarin mvvmcross


【解决方案1】:

答案来自@Stuart;修复https://github.com/MvvmCross/MvvmCross/pull/915

目前用于 FullFragging 的 NuGet 包还没有工作,现在需要自己构建 FullFragging dll。

【讨论】:

    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多