测试环境


操作系统:Windows8.1

开发工具:Unity5.5.2


1、新建一个测试项目,观测引用System.Xml与Mono.Xml解析文件正确性,与打包后APK体积大小。

2、Mono.Xml 用例

using UnityEngine;
using Mono.Xml;
using System.Security; public class MonoXmlTest : MonoBehaviour { void Start () { SecurityParser parser = new SecurityParser(); string xmlPath = "test"; parser.LoadXml(Resources.Load(xmlPath).ToString()); SecurityElement element = parser.ToXml(); foreach (SecurityElement node in element.Children)
{
if (node.Tag == "table")
{
string wave = node.Attribute("wave");
string level = node.Attribute("level");
string name = node.Attribute("name");
Debug.Log("wave:" + wave + " level:" + level + " name:" + name);
} }
} }
  1. 结果正确: 
  2. 安装包大小: 
  3. 编译日志可以观测到没有引用System.Xml.dll(该文件约1mb)

    Mono dependencies included in the build
    Dependency assembly - Mono.Security.dll
    Dependency assembly - System.Core.dll
    Dependency assembly - System.dll
    Dependency assembly - mscorlib.dll
    Dependency assembly - UnityEngine.UI.dll
    Dependency assembly - UnityEngine.Networking.dll
    Dependency assembly - UnityEngine.PlaymodeTestsRunner.dll
    Dependency assembly - Assembly-CSharp.dll

3、System.xml用例

using UnityEngine;
using System.Xml; public class SystemXmlTest : MonoBehaviour { // Use this for initialization
void Start () { XmlDocument xml = new XmlDocument();
XmlReaderSettings set = new XmlReaderSettings();
xml.LoadXml(Resources.Load("test").ToString()); XmlNodeList nodes = xml.SelectSingleNode("ROOT").ChildNodes; foreach (XmlElement node in nodes)
{
string wave = node.GetAttribute("wave");
string level = node.GetAttribute("level");
string name = node.GetAttribute("name"); Debug.Log("wave:" + wave + " level:" + level + " name:" + name);
} } }
  1. 结果正确:
  2. 安装包大小:
  3. 编译日志:可以观测到引用System.Xml.dll(该文件约1mb)  
    编译日志:可以观测到引用System.Xml.dll(该文件约1mb)
    
    Mono dependencies included in the build
    Dependency assembly - Mono.Security.dll
    Dependency assembly - System.Core.dll
    Dependency assembly - System.Xml.dll
    Dependency assembly - System.dll
    Dependency assembly - mscorlib.dll
    Dependency assembly - UnityEngine.UI.dll
    Dependency assembly - UnityEngine.Networking.dll
    Dependency assembly - UnityEngine.PlaymodeTestsRunner.dll
    Dependency assembly - Assembly-CSharp.dll

4、结论:使用Mono.Xml代替System.Xml在APK安装包编译后,体积减小约400kb,建议使用Mono.Xml

最新文章

  1. Leetcode: Sudoku Solver
  2. JavaScript——特殊点总结
  3. Mac OS X 设置取消开机自动启动
  4. HTTP 错误 500.19 - Internal Server Error
  5. 引入第三方库错误Undefined symbols for architecture i386: _OBJC_CLASS_$的解决方案
  6. hdu 2200
  7. JS学习笔记(一)基本数据类型和对象类型
  8. eclipse之The currrently displayed page contains invalid values错误
  9. HTML特殊符号对照表 常用字符实体
  10. windows sevser 2012搭建网站
  11. [LeetCode] Single Element in a Sorted Array 有序数组中的单独元素
  12. 构建基础的SpringMVC+Hibernate+SpringloC项目
  13. 初学Java Web(5)——cookie-session学习
  14. 关于dubbo+zookeeper微服务的一些认识记录
  15. SpringBoot系列——mail
  16. 【2018.05.11 智能驾驶/汽车电子】非技术向:关于Simulink和AutoSar的几种观点
  17. (原)visual studio 2015中添加dll路径
  18. T-net 【贪心】
  19. Linux下apache activemq的安装与配置
  20. UniConnectDialog使用

热门文章

  1. Cobbler自动化部署最佳实践
  2. 老李分享:《Linux Shell脚本攻略》 要点(五)
  3. 2.Maven 使用
  4. 30分钟掌握 C#7
  5. ML(4): NavieBayes在R中的应用
  6. 跟着刚哥梳理java知识点——面向对象(八)
  7. folly教程系列之:future/promise
  8. 【HDOJ 1086】 模板水过
  9. php流程管理
  10. FarPoint.Win.Spread 自定义表头