- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 MvvmCross 版本 3.5.1 的 Xamarin Android 项目。我面临一个我们认为可能是因为 MvvmCross 设置失败的问题。应用程序基本上适用于 Android 和 iOS 两个平台。但是,我面临着一个专门针对 Android 的问题。应用程序很旧,过去 3-4 年一直在开发中,从未升级到最新发布的 MvvmCross 版本。更新 MvvmCross 是我最后的选择。但在此之前,我想通过了解它的根本原因和重现它的方法来解决这个问题。
场景:
1) Android 设备上安装了应用程序,登录完成。
2) 应用移至后台。
3) 3-4 天后,通过点击应用启动器恢复应用 图标并卡在初始屏幕上。
4) 当
从手机设置强制停止
如果不将其置于后台超过 3-4 天,我将无法重现此问题。您能否提出一些方法来了解根本原因以及重现此问题的步骤,而无需将应用程序置于后台超过 4 天。
下面从 MvvmCross 打印的日志和应用程序在启动屏幕上卡住。粗体日志语句“没有可用的 View 模型类型查找器 - 假设我们正在寻找启动画面 - 返回 null”打印 3-4 次,然后应用程序卡在启动画面上。即使应用程序卡在启动画面上。推送通知由应用程序接收。
设置:PlatformServices 启动“
Setup: MvvmCross settings start"
设置:单例缓存启动"
“mvx”:“没有可用的 View 模型类型查找器 - 假设我们正在寻找启动画面 - 返回 null”
“mvx”:“没有可用的 View 模型类型查找器 - 假设我们正在寻找启动画面 - 返回 null”
“mvx”:“没有可用的 View 模型类型查找器 - 假设我们正在寻找启动画面 - 返回 null”
请帮助我了解为什么上面的粗体日志语句打印了 3-4 次,以及为什么不打印来自 _setup.InitializeSecondary() 的日志,然后应用程序卡在启动画面上。由于某些死锁或竞争条件,看起来设置卡在两者之间。如果您有任何建议以了解了解根本原因的可能性以及重现此问题的方法,那将对我真正有帮助。提前致谢。
更新:我们能够通过评论来自 MvxAndroidSetupSingleton->InitializeFromSplashScreen() 的 InitializeSecondary() 调用和应用卡在启动画面上来重现这种情况。请建议修复这个从应用程序级代码卡住的闪屏。基本上,我们不想修改 MvvmCross 代码,而是想从应用程序代码中修复。感谢您的帮助。根据日志,未执行来自 MvxAndroidSetupSingleton.cs 的以下方法中的一行代码 _setup.InitializeSecondary();。只有在将应用程序在后台保留超过 4-5 天后,此问题才会重现。首先,我想知道为什么在这种特殊情况下会发生这种情况,然后再解决。提前致谢
注意:我在我的应用程序中使用 Android 前台服务
public virtual void InitializeFromSplashScreen(IMvxAndroidSplashScreenActivity splashScreen) { 锁(锁对象) { _currentSplashScreen = splashScreen;
if (_initializationStarted)
{
if (_initialized)
{
_currentSplashScreen.InitializationComplete();
return;
}
return;
}
_initializationStarted = true;
}
_setup.InitializePrimary();
ThreadPool.QueueUserWorkItem(ignored =>
{
_setup.InitializeSecondary();
lock (LockObject)
{
_initialized = true;
if (_currentSplashScreen != null)
_currentSplashScreen.InitializationComplete();
}
});
}
最佳答案
我们在 MvvmCross 中对应用启动做了很多改进。因此,您的问题很可能已在较新版本中得到解决。
尽管如此,因为它说“没有可用的 View 模型类型过滤器”,这可能意味着启动过程尚未完成或正在做某事而无法找到它想要继续的下一个 ViewModel。
关于android - 使用 MvvmCross 构建的 Xamarin Android 应用程序在 3-4 天后从后台恢复时卡在启动画面上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611174/
我知道有一些关于这个主题的类似帖子,但没有一个对我有太大帮助(或者也许这就是因为我仍然是新手)。 无论如何,我正在寻找的是一个脚本来显示日期和日期以及从现在开始的 11 天。 下面的脚本是我用来显示当
我在 mysql 表中有一个 postdate 和 status 列。目前帖子的状态是= 1。我只想在提交帖子15天后更改状态= 0。任何人都可以提供帮助。 $todays = date('d-m-Y
我有这段代码,可以将当前日期转换为这种格式 2020-08-20 。但是我如何更改它以给出今天之后 10 天以及今天之前 10 天的日期。 例如今天是2020-08-20我试图从今天起计算10天202
我刚刚在 5 天前为我的应用上传了第 12 次更新 (APK),但它在 Google Play 中仍然不可用。通常只需要几个小时就可以使用。是否有任何解决方案/原因可能会发生这种情况?以前有人经历过吗
我已经使用 React Native 创建了一个适用于 iOS 的应用程序,但是在通过 Xcode 在实际 iPhone 上安装该应用程序几天后,它只是在我启动该应用程序 0.3 秒后退出该应用程序。
几周以来,我的 iOS 应用程序一直在运行 firebase 报告。我在 2 天前按照官方步骤添加了 crashlytics: https://firebase.google.com/docs/cra
在 javascript 中,我获取当前时刻,并向其添加 3 天。为什么年份加上 3 天仍然是 2018 年,格式为 2019 年? 当从 2 天 11 小时到 3 天 10 小时的范围内添加时,这会
我 4 天前在 google play 上发布了我的第一个应用程序(语音转短信),但我仍然无法通过它的名称或开发者名称在搜索中找到我的应用程序。我只能通过包名称或真实应用名称但没有空格 - “Voic
我在我的 Activity 中创建了一个 DatePickerDialog,我试图将 minDate 设置为 2 天后。 例如,今天是 25/5/2015,我希望最小日期为:27/5/2015 这是代
jQuery(document).ready(function(){ if (document.cookie.indexOf('visited=true') === -1) {
我是 Azure 存储帐户的新用户。在学习时我发现了以下链接: https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-s
我的应用在 http://talkwithstranger.com/ 上运行我已经将它部署在 AWS EC2 上。我用这个命令 sudo nohup node index.js & 即使我关闭终端并退
我是一名优秀的程序员,十分优秀!