Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在移动设备上相当定期地从XML文档中获取数据,这对性能合适吗?_Iphone_Android_Windows Phone 7_Xamarin.ios_Linq To Xml - Fatal编程技术网

Iphone 在移动设备上相当定期地从XML文档中获取数据,这对性能合适吗?

Iphone 在移动设备上相当定期地从XML文档中获取数据,这对性能合适吗?,iphone,android,windows-phone-7,xamarin.ios,linq-to-xml,Iphone,Android,Windows Phone 7,Xamarin.ios,Linq To Xml,我正在玩的一个游戏有几个XML文件用来管理精灵动画。目前,当我创建精灵实例时,我会将其加载到XDocument中一次,并将其保存在缓存中,这样,如果我需要再次加载,我就可以获取内存中已准备好的内容 我经常在游戏中这样做,因为我创建了动画精灵等等,通过它的定义如下: var definitions = doc.Document.Descendants(name); foreach (var animationDefinition in definitions) 所以我的问题是,这在手机上可以接受

我正在玩的一个游戏有几个XML文件用来管理精灵动画。目前,当我创建精灵实例时,我会将其加载到XDocument中一次,并将其保存在缓存中,这样,如果我需要再次加载,我就可以获取内存中已准备好的内容

我经常在游戏中这样做,因为我创建了动画精灵等等,通过它的定义如下:

var definitions = doc.Document.Descendants(name);
foreach (var animationDefinition in definitions)
所以我的问题是,这在手机上可以接受吗?比如说iPhone3GS/iPhone4/WindowsPhone7/Android?我在Android和iPhone中使用MonoTouch,而WP7有自己的.Net运行

我问的原因是,目前我没有加载那么多的动画精灵,但随着我加载的越来越多,我担心它会开始影响性能。我想,现在改变我的设计想法可能比等到以后再受苦更好


感谢您的帮助!

我只想测试一下什么更快(使用SAXParser再次读取或使用DOM将其存储在内存中)


也许将从XML文件读取的数据保存在数组/向量/类中也是有意义的,这样您就不需要反复解析XML文件了。

实际上,您想问的是有多少是“太多了”。我建议您找一个“实用的”“考虑到性能的限制,您只需要递归地增加精灵的数量,并注意应用程序何时减慢。将安全系数保持在1.5到3之间。你知道的。再次,你需要考虑你有多少精灵开始。如果所有这些都可以保存在内存中,那么就按照所有其他规范去做吧。客户不会介意稍长一点的游戏加载时间,只要里面平滑。否则就测试一下。

你能试着加载更多的动画精灵,看看会发生什么吗?