vpn连接本地网络断开

todaygood9992个月前未分类16

全网最佳IP代理服务商- 9.9元开通-稳定的代理服务
如果您从事外贸、海外视频博主、海外推广、海外广告投放,欢迎选择我们。
让您轻易使用国外主流的聊天软件、视频网站以及社交网络等等

  UWP应用,全称或许可称Windows通用平台应用,是微软推出的新一代Windows应用开发模型。但是自推出以来,却饱受诟病,其中,易闪退是很多人对它的第一印象。今天,我们就来谈一谈UWP应用闪退的问题,并教你如何解决它。

  本文所述是立于开发者角度,即从应用代码解决问题。而非处于用户角度,在应用之外解决UWP应用闪退的问题

  UWP应用不是瓷娃娃,没那么易碎。“闪退”,归根结蒂其实是Windows对系统的保护,避免因应用而干扰到系统运行。这种处理方式是站在系统角度上的,但开发者和用户都不领情。

  用户自不必说,应用闪退,极大地影响用户体验,闪退了几次就把软件卸载了,闪退的应用多了,连带着对整个UWP应用都讨厌上了。

  而开发者也很纠结,用户抱怨出现闪退,可在开发者这里没办法复现,导致开发者调试困难,有时候也是不了了之。

  在写应用的时候,出现错误的原因多种多样,从大的架构设计失当,到小的出现了不安全的空(Null)值。这些错误,开发者有的可以在程序设计时就利用`try-catch`语句进行捕获,经验越丰富的程序员,设计时考虑到的可能异常就越多。但是人力有时穷,不可能方方面面都考虑到,而程序一旦在运行过程中出现了**未捕获的异常**,应用马上闪退,毫无二话。

  照这样说,出现未捕获的异常似乎是再所难免的,可为什么有些应用基本不闪退呢?是它们的程序全身上下都是try-catch吗?

  每一个新建的UWP应用都有一个App.xaml的文件,其背后则有一个App.xaml.cs。

  App.xaml.cs中包含着关于应用启动、暂停等应用层级的操作逻辑,这个我相信各位开发者都是知道的。而所有未捕获的异常,最终都会冒泡到这里,所以这里是最后一关。换句话说,我们只要在这里设一道卡,抓住这个异常,不让它触发闪退机制就万事大吉了。

  App类派生自Application类,且自带了一个事件,就是UnhandledException,说明是**当异常可由应用程序代码处理,如从本机级别的Windows运行时错误转发时发生。应用程序可标记事件数据中处理的匹配项**。

  换句话说,人家早就想到会有闪退这种情况,已经预先把这个事件给你定好了。那我们要做的就非常简单了。

  就这样,因出现未捕获的异常而造成的闪退就解决了,这个原因的闪退占了总体的九成以上。可以说,接下来,只要你的应用不作死,不故意写点死循环,不搞不安全的骚操作,基本上就不会再闪退了。

  出现闪退,意味着程序有错误未捕获。既然有错误,那就要解决。单靠一个e.Hanled=true;……

  这种粗暴的解决方式虽然能够一次性解决闪退问题,但是治标不治本(虽然用户并不清楚,但实际使用体验却有了不少的提升)。作为软件的设计者,我们依然需要知道具体是哪里出现了问题,错误的原因是什么,这就涉及到了异常的后续处理。

  如果你做的应用上架到了微软应用商店,那么在微软应用商店的后台,会记录你的软件在用户处的使用状况,而当出现异常的时候,也会上传到你的软件后台,这样就方便管理了:

  我在开发WFA的时候,遇到过一个棘手的问题,Win10 14393的用户在打开应用设置时应用会闪退,而更高版本的则不会。当时在应用商店后台查看时,它也不知道原因,显示一个Unkonwn Exception,这我就很尴尬了啊。

  百思不得其解的情况下,我在App.xaml.cs的异常捕获函数中加了个小东西,即捕获到异常后,将异常的解释传到我的数据库里。通过这样的方式,我很快找到了问题的成因,即AutoSuggestBox控件的某个样式在14393系统中不支持,这导致应用无法渲染,直接闪退了。

  虽然最后我还是放弃了14393的支持(使用了ContentDialog的新控件),但这种本地处理也可以作为一个经验保留下来(现在的WFA也没有在异常捕获里加上传代码了)。

  • 当前种处理方式不能满足需求时,可以在App.xaml.cs中的异常捕获函数里进行本地处理,将更为详细的信息上传到你的数据库中,便于你进行分析。

  不过要注意,由于发布的安装包基本都是Release的,异常捕获不会有Debug时那样精准,有时候也需要自己根据情况进行分析。

  闪退原因可分为两部分,一种是我前面讲的代码中出现了未捕获的异常,而另一种,则是应用渲染无法获取到对应资源,这一点就尤其显示出UWP开发平台的不成熟性了。

  开发过UWP应用的同学对于控件样式应该不陌生吧。这个是UI的关键部分。而控件样式的设计,低版本(15063及以下)可以使用Blend,而更高版本,Blend尚未支持,就需要自己创建控件样式的副本,手动对XAML代码进行修改(我现在已经更偏向于这一种处理方式了)。

  不论是利用Blend还是手动改,都需要创建控件样式的副本,这个副本依据什么创建的呢?依据的是系统默认的样式。而系统默认的样式有一个很严重的问题,以16299为例vpn连接本地网络断开

  众所周知,在16299中,Win10采用了Fluent Design,很多控件的默认样式都进行了更新,添加了一种名为AcrylicBrush的笔刷,而在最新的17134中,则有Reveal光效。当这些仅特定版本支持的特殊样式被内化到系统默认样式中,一件凄凉的事情就发生了:

  原因就在于你使用高版本Win10进行开发时,控件的默认样式已经不再支持低版本了,而你却对此并不了解,导致你没修改控件的样式。这样的应用做出来,虽然名义上支持低版本,但是低版本打开后会因为应用找不到对应的系统资源而无法渲染,因此闪退。

  因这种原因而闪退的应用也屡见不鲜,很多时候都是开发者没有经过认真比对而强行上新的效果造成的。

  但是你说这个是开发者的原因吗?或许是,但微软也需要承担一定的责任。你控件更新就更新吧,好歹告诉我一声啊,就算没写什么更新说明,那么在创建默认样式时,加个波浪线,告诉一声“该样式在当前软件的最低系统版本中不受支持”也好啊。但很可惜的是,目前这种提示文字有,但不全面,仍有一些样式没有被包括在提醒列表之内。

  所以,当你在App.xaml.cs中完成了对代码的异常捕获后,如果应用依然会出现闪退,那么你就要考虑一下这种样式原因了。

全网最佳IP代理服务商- 9.9元开通-稳定的代理服务
如果您从事外贸、海外视频博主、海外推广、海外广告投放,欢迎选择我们。
让您轻易使用国外主流的聊天软件、视频网站以及社交网络等等

标签: 银河vpn闪退

相关文章

手机开vpn共享给电脑连接

  2024年11月04日 ,新华社:欧盟对华汽车加税算错了账,快三计划平台,日博体育在哪里玩,365平台被黑怎么办,万博manbext体育官网,银河免费试玩,华纳注册网址,澳门十大电子游...

安卓尝试创建vpn连接失败

  4月11日,阳泉市郊区平坦镇桃林沟村第十七届桃花节隆重开幕。本届桃花节以“山河无恙、花满桃林”为主题,将“古镇+乡旅+文创”有机融合,展示出桃林沟独特的山水人文风情。山西省文化和旅游厅...

小米5连接不了vpn

  同步推提供了非常便捷的下载安装方式,可以登陆官网根据当前苹果手机的越狱情况来选择相对应的版本下载;也可以直接在手机浏览器中输入上述网址来完成下载安装,如图1所示。  ...

小米6的VPN连接失败

小米6的VPN连接失败

  。PXVK5RTM3KDVBQJ61LYW。新宝gg竞彩官网彩色正版澳门老鼠报九游会可靠吗。   2024年10月27日,上海:东航“亚冬号”主题彩绘机亮相,欧博快速...

vpn远程连接工具

  ,一习话·众行致远丨“共同谱写‘大金砖合作’高质量发展新篇章”,百家乐官网是多少劝欢乐斗地主,乐鱼官方平台下载沙巴体育注册送18。   2024年11月04日,台青林...

steam挂vpn显示未连接

  轻蜂加速器是一款多功能的海外加速器,不同于目前市场上的定向加速器,定向加速器只针对某个方面进行加速,例如游戏加速、switch加速等。轻蜂加速器不仅支持外服手游加速,还可以针对海淘网站...