一直以为都在纳闷,为啥我的其他app崩溃次数几乎为0,而单单这个App的崩溃次数简直逆天了,我都不敢相信。

每天都有至少上千次crash。。。我也是服的

不甘心,趁着这次重构的机会,把代码好好捋了1下

Debug.WriteLine("BeginRequest " + DateTime.Now);progressRing.Visibility = Visibility.Visible;progressRing.IsActive = true;var repsonse = await HttpHelper.GetJsonAsync<USGSEarthquakesModel>(strRequestUrl);if (repsonse != null && repsonse.metadata.status == 200){Debug.WriteLine("EndRequest " + DateTime.Now);Debug.WriteLine("BeginxBind " + DateTime.Now);Debug.WriteLine("Count " + repsonse.metadata.count);ObsList.Clear();if (repsonse.metadata.count > 0){foreach (FeaturesItem em in repsonse.features){if (em.properties.mag == null)continue;try{StandardEarthquakesModel sm = new StandardEarthquakesModel{Time = Helpers.TimeConverter.Convert2MyTime(em.properties.time),Mag = (double)em.properties.mag,Latitude = (double)em.geometry.coordinates[1],Longitude = (double)em.geometry.coordinates[0],Depth = (double)em.geometry.coordinates[2],Location = em.properties.place,};ObsList.Add(sm);}catch { }}PullToRefreshListViewControl.ItemsSource = ObsList;(Application.Current as App).gObsEarthquakeList = ObsList;TipServices.TipUpdateData((int)repsonse.metadata.count);Debug.WriteLine("EndxBind " + DateTime.Now);}else{TipServices.TipNoData();}}else{TipServices.TipNetError();}progressRing.Visibility = Visibility.Collapsed;progressRing.IsActive = false;

看获取json,看绑定,看数据模型,貌似都没啥问题啊。

于是就把代码分块注释掉,看看哪一部分有bug。

首先注释掉response之后代码,可以确定获取response没猫饼。

难道try catch有问题?

排除。。。

接着就是

PullToRefreshListViewControl.ItemsSource = ObsList;

有问题???

其他app也是这么写的啊。。。

注释一番后,最终确定

TipServices.TipUpdateData((int)repsonse.metadata.count);

真的有问题。

进去看看

public static void TipUpdateData(int nCount){if (notifyPopup != null)notifyPopup.Hide();if (strCurrentLanguage.ToLower().Equals("zh-cn"))notifyPopup = new NotifyPopup(LanguageHelper.strTipDataUpdatedAmount_zh_cn + nCount);elsenotifyPopup = new NotifyPopup(nCount + LanguageHelper.strTipDataUpdatedAmount_en);notifyPopup.Show();SoundHelper.PlaySucceedTipSound();}

这个类似安卓toast,其他app用过无数次,怎么会有bug???

那基本可以确定

SoundHelper.PlaySucceedTipSound();

这句话挂了。

private static public static void PlaySucceedTipSound()
{
  MediaPlayer mediaPlayer = new MediaPlayer();
  mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/Skype.wav"));   mediaPlayer.Play(); }

把MediaPlayer拿出来设置成静态,?

最后附上App下载地址:https://www.microsoft.com/store/apps/9N3X2JZP7B96

转载于:https://www.cnblogs.com/hupo376787/p/8267588.html

UWP 自然灾害App在刷新数据后卡死的解决方案相关推荐

  1. 判赔20万!星愿浏览器因拦截广告被优酷起诉;苹果调查iPhone 14 Pro传输数据后卡死问题|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  2. 判赔20万!星愿浏览器因拦截广告被优酷起诉;苹果调查iPhone 14 Pro传输数据后卡死问题|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  3. 清除应用数据后,应用对应的widget的数据无法刷新

    进入设置,清除应用的数据后,widget的内容不再更新,查找原因,发现清除数据后会杀死应用所有的服务,详细的过程可参考:http://blog.csdn.net/Gaugamela/article/d ...

  4. 使用vue 刷新页面后state数据被清空的问题(刷新总是跳转到登陆页面)

    在实际的vue项目中,当我们的应用遇到多个组件之间的共享问题时,通常会用到Vuex(一个状态管理的插件,可以解决不同组件之间的数据共享和数据持久化),解决组件之间同一状态的共享问题. 因子: Vuex ...

  5. java删除页面数据不刷新_Ajax请求数据与删除数据后刷新页面

    1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS) //查询单个 functionquery(id) { ...

  6. Ajax请求数据与删除数据后刷新页面

    1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) <a class="queryA" href="javascript:void(0)" ...

  7. 【实习小tip】多层dialog弹窗遮罩问题、elementUI的form表单组件的select框在只读的情况下没办法拿到传来的数据、从弹窗子组件获取数据后需要刷新页面

    解决elementui多层dialog弹窗遮罩问题 弹窗套娃出现了整个屏幕都是遮罩层的问题,需要鼠标点击一下才能正常. 在弹窗组件代码上加上 append-to-body 就可以了,表示这个弹窗是嵌在 ...

  8. vue从后台获取新数据后刷新_vue传参页面刷新数据丢失问题

    在做vue的时候,经常会遇到组件之间数据的传递问题,通过params或者query传参,但是,当页面刷新的时候,数据会丢失,找不到数据.今天经过总结,解决了这个问题.通过了一下几种情况进行传值: 通过 ...

  9. 微信小程序 - 返回前一个页面时,执行前一个页面的函数方(wx.navigateBack 返回后,执行上一页的某个函数方法刷新数据)回前一个页面时,执行前一个页面的函数方法。支持改变 data 数据。

    前言 例如,您使用 wx.navigateTo 跳转到页面后,当用户点击左上角返回时,您需要执行上一页的函数来达到更新数据或改变数据. 比如 当付款完成后,从页面返回查看订单时,订单列表此时数据必须是 ...

最新文章

  1. 【poj3420】 Quad Tiling
  2. 「数据结构」图基础篇
  3. Python Django 常用命令:创建迁移文件/数据库建表/创建admin超级用户
  4. ps ico插件_Photoshop 2020特别版 内置多款实用插件
  5. [css] 请写出font属性的快捷写法
  6. html下拉列表初始值不显示,javascript – 使用innerhtml显示下拉列表文本而不是值...
  7. 【LeetCode】4月3日打卡-Day19-字符串转整数
  8. 基于 Android NDK 的学习之旅-----Java 调用C(附源码)
  9. 语音识别技术_语音识别原理_语音识别技术原理_企业服务汇
  10. 《深度学习》李宏毅 -- task5网络技巧设计
  11. AppStore图片尺寸以及内容要求Screenshot specifications
  12. 十大硬盘数据恢复软件
  13. MATLAB图像处理(均值滤波)
  14. 盘点:2022年10款比较火的项目管理软件
  15. 利用不共线三点求解并联机构动系在定系中的位姿的另一种解法
  16. matlab 逐日 变逐月,一个逐日系统程序 用SWITCH咋也跳不出循环 求大神指教
  17. 很全!国内外网络安全厂商有哪些?
  18. 细胞穿膜肽( CPPs)偶联肽核酸Tat-modified-PNA|C-myc tag-PNA|SSBP(I)-PNA|Tp-10-PNA|PTD-4-PNA
  19. ##24点游戏程序实现算法(文末源代码)
  20. 微信游戏奇迹暖暖选取服务器失败,奇迹暖暖微信登录授权失败

热门文章

  1. 递归java程序_JAVA编程基础之递归结构
  2. [leetcode] 1335. 工作计划的最低难度
  3. stl vector 容量与大小之间的关系
  4. 下载并搭建VauditDemo
  5. Codeforces Round #518 (Div. 2): F. Knights(神题)
  6. opencv 实现角点检测 Shi-Tomasi角点检测
  7. python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
  8. docker部署kafka,k8s(helm)部署kafka
  9. jQuery Mobile中主题theme样式a-z
  10. jpg/png格式图片转eps格式