近期解决了一个非常迷惑的一个问题,问题就在于,项目在本地环境运行时没有任何异常和闪退的现象,而且以Debug模式发布后,发布包安装后,运行也没有任何问题,但是当以Release模式发布并安装,就会出现闪退的问题。
针对对系统日志的分析和错误的解决,我们一共找到两个原因导致这个问题的出现。
1.初始化时间太久,导致系统超时的闪退 2.由于Release模式发布时,系统自动优化代码,导致包丢失闪退
1.初始化时间太久,导致系统超时的闪退
这个解决相对容易,大家可以直接参考:
主页:应用启动性能的最佳做法 - UWP 应用程序 |Microsoft学习
直接贴代码就完了,这个理解起来也简单,就是快速接手启动页,使系统响应,不至于系统被杀死导致闪退。
2.由于Release模式发布时,系统自动优化代码,导致包丢失闪退
这种闪退就比较有意思了,直接上方法:
1.找到我们的项目 xxx.UWP 2.找到Properties点开 3.找到 Default.rd.xml(没有的自己加一个) <Application> <Assembly Name="项目架构名" Dynamic="Required All" /> </Application>
这个东西可以保证你的Dll不被无故删掉,因为Release会优化你的方法,没有被调用的会给你优化掉(删掉),所有没有在系统当中直接书写的,写在别的DLL的,可能会被误删
<Application> 元素是根元素,表示整个应用程序的配置信息。在这个例子中,它包含一个 <Assembly> 元素作为子元素。
<Assembly> 元素用于指定应用程序所需的程序集(或库)的名称和加载方式。在这里,Name 属性指定了程序集的名称,Dynamic 属性指定了程序集的加载方式。
项目架构名就是这个东西:
以上是我遇到的两个UWP项目闪退原因的解决方案
标签:C#,UWP,模式,Windows,Release,闪退 From: https://www.cnblogs.com/ning-xiaowo/p/17776961.html