首页 > 代码库 > C# 与 Unity内存优化

C# 与 Unity内存优化

 

 

转载自:http://www.xuanyusong.com/archives/1919

 

     客户端与服务器的交互,使用JSON 和XML会感觉数据量太大,影响效率。使用二进制可以很大把空间节省。

在写入二进制数据时用到的核心类就是BinaryWriter ,Binary是二进制的意思 ,可见操作二进制写入就用BinaryWriter了。 常用的数据类型会分配固定的字节数量,假设BinaryWriter 写入一个short 那么就占2字节,写一个 int 就占4字节,如果是数组的话需要数组类型字节长度在乘以数组长度。

byte:一个字节(8位) 
short:两个字节(16位) 
int:四个字节(32位)(一个字长) 
long:八个字节(64位)
float:四个字节(32位)
double:八个字节(64位)

然后在说说string,字符串它并不是标准的数据类型,它是一个对象 object 那么它的字节长度就是可变的。还有BinaryWriter 在写入string 的时候会现将字符串的长度以byte的形式储存,然后在储存该字符串的占用的字节长度。那么在解析字符串的时候需要先解析字符串长度,然后在根据长度取得后面对应长度的字节数组,再把这个字节数组转换成string。写入的时候我们用的是BinaryWriter 那么读取的时候应该是 BinaryReader。

C# 与 Unity内存优化