UWP 自然灾害App在刷新数据后卡死的解决方案
一直以为都在纳闷,为啥我的其他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在刷新数据后卡死的解决方案相关推荐
- 判赔20万!星愿浏览器因拦截广告被优酷起诉;苹果调查iPhone 14 Pro传输数据后卡死问题|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- 判赔20万!星愿浏览器因拦截广告被优酷起诉;苹果调查iPhone 14 Pro传输数据后卡死问题|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- 清除应用数据后,应用对应的widget的数据无法刷新
进入设置,清除应用的数据后,widget的内容不再更新,查找原因,发现清除数据后会杀死应用所有的服务,详细的过程可参考:http://blog.csdn.net/Gaugamela/article/d ...
- 使用vue 刷新页面后state数据被清空的问题(刷新总是跳转到登陆页面)
在实际的vue项目中,当我们的应用遇到多个组件之间的共享问题时,通常会用到Vuex(一个状态管理的插件,可以解决不同组件之间的数据共享和数据持久化),解决组件之间同一状态的共享问题. 因子: Vuex ...
- java删除页面数据不刷新_Ajax请求数据与删除数据后刷新页面
1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS) //查询单个 functionquery(id) { ...
- Ajax请求数据与删除数据后刷新页面
1.ajax异步请求数据后填入模态框 请求数据的按钮(HTML) <a class="queryA" href="javascript:void(0)" ...
- 【实习小tip】多层dialog弹窗遮罩问题、elementUI的form表单组件的select框在只读的情况下没办法拿到传来的数据、从弹窗子组件获取数据后需要刷新页面
解决elementui多层dialog弹窗遮罩问题 弹窗套娃出现了整个屏幕都是遮罩层的问题,需要鼠标点击一下才能正常. 在弹窗组件代码上加上 append-to-body 就可以了,表示这个弹窗是嵌在 ...
- vue从后台获取新数据后刷新_vue传参页面刷新数据丢失问题
在做vue的时候,经常会遇到组件之间数据的传递问题,通过params或者query传参,但是,当页面刷新的时候,数据会丢失,找不到数据.今天经过总结,解决了这个问题.通过了一下几种情况进行传值: 通过 ...
- 微信小程序 - 返回前一个页面时,执行前一个页面的函数方(wx.navigateBack 返回后,执行上一页的某个函数方法刷新数据)回前一个页面时,执行前一个页面的函数方法。支持改变 data 数据。
前言 例如,您使用 wx.navigateTo 跳转到页面后,当用户点击左上角返回时,您需要执行上一页的函数来达到更新数据或改变数据. 比如 当付款完成后,从页面返回查看订单时,订单列表此时数据必须是 ...
最新文章
- 【poj3420】 Quad Tiling
- 「数据结构」图基础篇
- Python Django 常用命令:创建迁移文件/数据库建表/创建admin超级用户
- ps ico插件_Photoshop 2020特别版 内置多款实用插件
- [css] 请写出font属性的快捷写法
- html下拉列表初始值不显示,javascript – 使用innerhtml显示下拉列表文本而不是值...
- 【LeetCode】4月3日打卡-Day19-字符串转整数
- 基于 Android NDK 的学习之旅-----Java 调用C(附源码)
- 语音识别技术_语音识别原理_语音识别技术原理_企业服务汇
- 《深度学习》李宏毅 -- task5网络技巧设计
- AppStore图片尺寸以及内容要求Screenshot specifications
- 十大硬盘数据恢复软件
- MATLAB图像处理(均值滤波)
- 盘点:2022年10款比较火的项目管理软件
- 利用不共线三点求解并联机构动系在定系中的位姿的另一种解法
- matlab 逐日 变逐月,一个逐日系统程序 用SWITCH咋也跳不出循环 求大神指教
- 很全!国内外网络安全厂商有哪些?
- 细胞穿膜肽( CPPs)偶联肽核酸Tat-modified-PNA|C-myc tag-PNA|SSBP(I)-PNA|Tp-10-PNA|PTD-4-PNA
- ##24点游戏程序实现算法(文末源代码)
- 微信游戏奇迹暖暖选取服务器失败,奇迹暖暖微信登录授权失败
热门文章
- 递归java程序_JAVA编程基础之递归结构
- [leetcode] 1335. 工作计划的最低难度
- stl vector 容量与大小之间的关系
- 下载并搭建VauditDemo
- Codeforces Round #518 (Div. 2): F. Knights(神题)
- opencv 实现角点检测 Shi-Tomasi角点检测
- python网络爬虫系列教程——python网络数据爬虫误区,让你的爬虫更像人类
- docker部署kafka,k8s(helm)部署kafka
- jQuery Mobile中主题theme样式a-z
- jpg/png格式图片转eps格式