Unity内存管理
大对象堆LOH(Large Object Heap)
C# 大型对象堆学习总结 https://blog.csdn.net/bcbobo21cn/article/details/70082421
C#.net内存分配问题(堆、栈、LOH堆) https://blog.csdn.net/Ding_zhiyuan/article/details/117814148
方法调用
CIL代码中调用方法的常用方法有call和callvirt两种 实际上又分为:直接调用、反射调用、间接调用、委托调用、异步调用、表达式调用 http://c.biancheng.net/view/3093.html
内存细分
线程栈、线程堆、静态堆、GC堆、LOH堆等,细分后重新画张图,解释一下
分析内存
- 分析内存消耗
- 分析内存效率
内存管理性能增强
垃圾回收策略
手动JIT编译
值类型和引用类型
- 传值和传引用
- 结构体是值类型
- 数组和引用类型
- 字符串是不可变的引用类型
字符串连接
- 字符串池
重复的字符串传引用,跟Java相同。
string a = "abc";
string b = "abc";
(a == b)
上面代码中,如果b重新赋值为"xyz",将重新开票空间存储"xyz",字符串池具有不可变性,池内的字符串常量不可变。
- StringBuilder
- 字符串格式化
拆装箱
数据布局的重要性
Unity API中的数组
对字典使用InstanceID
foreach循环
协程
闭包
.NET库函数
临时工作缓冲区
对象池
预制池
IL2CPP优化
WebGL优化
Unity、MONO和IL2CPP的未来
C# Job System(C# 作业系统)
更多内容请查看总目录【Unity】Unity学习笔记目录整理
|