CF里面的资源载入问题
有一次在VS2k5里面调试运行一个SmartPhone的程序的时候,发现突然在Output窗口里面显示了好几个First Chance Exception,仔细一看发现有两个FileNotFoundException,以及一大堆的UnathorizedException。而这些异常却没有引起中断,也就是说在程序的某一个部分被try...catch截获了。但问题是我的代码里面根本就没有任何的try...catch,不应该呀?后来仔细想想,又想到using也截获异常,所以一下子下不了定论。而我这个程序只有关于画图方面的代码,因此问题应该在画图相关的部分。我立刻想到有两种可能性,第一种是加载资源的时候引起了异常,另外一种可能是画图代码由一些可能引起异常、但是系统能够处理的参数。由于没有时间,开始的时候就没有仔细探索,反正能够正常使用。
而昨天呢,我稍微研究了一下,发现问题确实是出在加载资源的部分。当你的SmartDevice程序里面包含了图片资源的话,并且通过资源管理器的GetObject获取这项资源的话,就会在内部引发一系列的异常——第一次引发两个,第二次引发另外两个,后面的就每次引发一个异常。简单的跟踪发现,问题可能出在本地化方面的问题。似乎在GetObject的控制流当中的某一个环节,会检查你指定的“文化(CultureInfo,不知道中文术语是否这么讲)”,然后找到相应的资源文件载入。这个资源文件是干什么的我没有仔细看,这只是一个粗略的分析,估计是用来显示出错信息的。由于没有指定CultureInfo,或者指定CultureInfo的资源文件没有被安装上来,结果就引发了FileNotFoundException了。至于后面的UnauthorizedException,我估计就是一开始引发了FileNotFound之后,某些初始化步骤出现问题的副作用引起的。
这个问题也许值得花时间去了解清楚。大家都知道抛出一个Exception,无论代码有没有catch,时间开销都是相当大的。可以说如果你的程序有图片资源,其启动速度就会跟没有图片资源的相差非常大。大家可以试一下建立一个空白的程序,运行一下感受速度。然后在这个项目的Form上面添加3个PictureBox,设置它们的Image属性,分别换上不同的图片。再次运行的时候就会感到速度会有差异了(应该还好,不算很明显。)如果在VS2k5里面做这个实验就再好不过了,因为能够在Output窗口上面看到很明显的First chance exception项目的。这个CF如果跟桌面的.NET Frameword对比,真算不上是精品工程,越用就越多问题。
呵呵,不知道现在VS2k5的beta里面是否有中文的Rom了呢?如果没有的话,下一次来看我的解决方案,今天不在工作机器上面,很多东西没法写,怕不准确害死人。OK,今天就这些。
CF里面的资源载入问题相关推荐
- pythonlive2d_Unity-Live2D资源载入
在Live2d上下载的资源模型是.cmox格式的,无法直接在unity内使用,需要在Cubism中导出成.moc文件. 1.将下载的.cmox资源直接拖入Cubism 2.导出的时候有2.0版本和3. ...
- Unity Accelerator本地服务器加速Unity项目资源载入速度
去年的时候项目引擎版本由2019升级为2020,对应的资源导入管线也由V1切换到了V2,在这个过程中发现原来的cachesever就不满足项目需要了,查阅了一些资料发现unity的cachesever ...
- Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
ClassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入 ...
- java web 加载类_Java中用ClassLoader载入各种资源(类、文件、web资源)的方法
lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...
- [Unity3d]制作打包并载入AssetBundle
通常在游戏执行过程中,并不希望一次将全部的资源都载入.而是在资源被使用的时候载入,以免占用过多的存储空间.所以我们可能会尽量规划好不同功能的场景,在需要的时候才载入场景并释放掉前个场景中不需要的资源. ...
- combotree 可以异步加载吗_Unity AssetBundle 资源打包,加载,本地缓存方式,安卓,PC本地加载路径问题...
AssetBundle的定义和作用: 1,AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载. 2,AssetBundle自身保存着互相的依赖关系 ...
- 实现Android 动态载入APK(Fragment or Activity实现)
尊重原创:http://blog.csdn.net/yuanzeyao/article/details/38565345 近期由于项目太大了.导致编译通只是(Android对一个应用中的方法个数貌似有 ...
- 资源打包Assetbundle .
在手游的运营过程中,更新资源是比不可少的.资源管理第一步是资源打包.传统的打包可以将所有物件制成预设Prefab,打包成场景.今天我们来一起学习官方推荐的Assetbundle,它是Unity(Pro ...
- Unity资源打包之Assetbundle
本文原创版权归 csdn janeky 所有,转载请详细注明原创作者及出处,以示尊重! 作者:janeky 原文:http://blog.csdn.net/janeky/article/details ...
最新文章
- 重做53. Maximum Subarray
- 感知重塑与忠诚建立:车企营销的两大新机遇
- centos7安装face_recognition踩各种坑
- 16小时31分12秒!2019天猫双11成交额超2135亿元,超越2018年全天成交额
- WIN7英文操作系统,中文语言包安装。及部分开发环境,软件中文乱码问题解决。
- 《The Pragmatic Programer》 reading notes
- ENVI监督分类错误:分离度为0.00000解决办法
- Cannot save setting
- NIOS II 15:AD7606共享SDRAM
- 实际应用1:分析各类APP的下载量(pyecharts数据可视化)
- 腾达a9服务器无响应,腾达(Tenda)A9设置网站打不开怎么办?
- 头歌-EduCoder:袋鼠过河问题
- Android 10.0 Launcher3 单层app列表页排序功能实现
- JavaScript Prototypes 原型 Lynda课程中文字幕
- python 乘法运算定律_乘法运算定律专项练习题
- 4.6. 个人防火墙
- Python语言在地球科学领域中的应用
- 电子商务作业2:电子支付工具
- 1小时入门Python
- 苹果手机怎么在照片上添加文字_怎么把照片上的文字转换成文本?照片转换文字神器来了...