Joh*_*phy 10 c# windows async-await windows-runtime windows-phone-8.1
我正在开发Windows Phone 8.1应用程序.我大约一个月的时间进入这个项目,到目前为止我所写的内容几乎没有问题.
我决定对应用程序进行一些测试,而不通过VS 2013调试器运行它.现在,出于某种原因,应用程序在进入第一个屏幕之前崩溃了.我没有得到任何例外或消息(我使用Raygun进行错误记录).
我一直在使用异步方法(一些async void,其他异步Task),但所有这些在调试时都有效.
最有帮助的是得到某种错误信息.我已经减少了评论部分代码,但最终这让我无处可去,因为当我认为我发现了问题时,我又进一步陷入代码崩溃.
有一次,我发现调用的问题是:ListView.UpdateLayout().我评论了这个,应用程序将正常运行没有崩溃.然后,我进一步向下评论了一些代码,现在又崩溃了.
如果有人知道从手机获取例外的方法,或者如果有人之前遇到过这个问题,那么任何帮助将不胜感激.我可以提供所需的任何进一步信息.
更新: 我认为我已将问题缩小到Sqlite.NET.我使用Sqlite.Net for WinRT以及一个名为SqliteNetExtensions的扩展.特别声明是
DataContext.Context.Connection.Table<Message>().Where(m => m.ChannelID == channelID && m.ChannelID.Contains("C")).ToList();
Run Code Online (Sandbox Code Playgroud)
如果我发表评论,该应用程序运行没有问题.此LINQ语句最多返回100条记录.我不认为100条记录的SELECT语句会导致应用程序崩溃,但它似乎是罪魁祸首.关于如何优化Sqlite.NET的任何想法?
更新2: 终于明白了!根本不是SQLite.这根本不是我的代码.这是我的手机.我正在运行诺基亚Lumia Icon.几个星期前我安装了Rudy Huyn的Lockscreen Beta.当我卸载它时它引起了一些问题,但它与我的应用程序无关.今天,我有我的商业伙伴在他的手机上安装我的应用程序,他有相同的型号手机.该应用程序快了大约50倍,并没有崩溃.我从工厂恢复了手机,看,它运行得很好.所以,专业提示:不要安装由RUDY HUYN安装LOCKSCREEN BETA!