【Unity】Unity内存管理与优化(三)
文章目录
- Unity内存管理
- 大对象堆LOH(Large Object Heap)
- 方法调用
- 内存细分
- 分析内存
- - 分析内存消耗
- - 分析内存效率
- 内存管理性能增强
- 垃圾回收策略
- 手动JIT编译
- 值类型和引用类型
- - 传值和传引用
- - 结构体是值类型
- - 数组和引用类型
- - 字符串是不可变的引用类型
- 字符串连接
- - 字符串池
- - StringBuilder
- - 字符串格式化
- 拆装箱
- 数据布局的重要性
- Unity API中的数组
- 对字典使用InstanceID
- foreach循环
- 协程
- 闭包
- .NET库函数
- 临时工作缓冲区
- 对象池
- 预制池
- IL2CPP优化
- WebGL优化
- Unity、MONO和IL2CPP的未来
- C# Job System(C# 作业系统)
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) // true
上面代码中,如果b重新赋值为"xyz",将重新开票空间存储"xyz",字符串池具有不可变性,池内的字符串常量不可变。
- StringBuilder
- 字符串格式化
拆装箱
数据布局的重要性
Unity API中的数组
对字典使用InstanceID
foreach循环
协程
闭包
.NET库函数
临时工作缓冲区
对象池
预制池
IL2CPP优化
WebGL优化
Unity、MONO和IL2CPP的未来
C# Job System(C# 作业系统)
更多内容请查看总目录【Unity】Unity学习笔记目录整理
【Unity】Unity内存管理与优化(三)相关推荐
- 【Unity】Unity内存管理与优化(一)内存域、堆栈、垃圾回收、内存泄漏、内存碎片
文章目录 Unity内存 内存域 - 托管域 - 本地域 - 外部库 - 跨桥操作 堆和栈 - 栈 - 堆 - 堆栈的使用 垃圾回收 - Mono内存分配过程 - 内存泄漏 - 内存碎片 - 运行时垃 ...
- 【Linux 内核 内存管理】优化内存屏障 ③ ( 编译器屏障 | 禁止 / 开启内核抢占 与 方法保护临界区 | preempt_disable 禁止内核抢占源码 | 开启内核抢占源码 )
文章目录 一.禁止 / 开启内核抢占 与 方法保护临界区 二.编译器优化屏障 三.preempt_disable 禁止内核抢占 源码 四.preempt_enable 开启内核抢占 源码 一.禁止 / ...
- C语言 --- 动态内存管理(上)+优化版通讯录+笔试题
文章目录 前言 一.为什么存在动态内存分配 二.动态内存函数的介绍 2.1.malloc函数+free函数 2.2.calloc函数+free函数 2.3.realloc函数 三.常见的动态内存错误 ...
- 关于mysql内存管理_MYSQL内存管理及优化
MYSQL内存管理及优化 内存是影响数据库性能的主要资源,也是mysql性能优化的一个重要方面: 内存优化的原则 将尽量多的内存分配给mysql做缓存,但是要给操作系统和其他程序的运行预留足够的内存, ...
- gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化
利用 gperftools 对nginx 与 mysql 进行 内存管理 性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...
- Mysql 内存管理及优化
Mysql 内存管理及优化 1)内存优化原则 1) 将尽量多的内存分配给 MySQL 做缓存,但要给操作系统和其他程序预留足够内存. 2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的 I ...
- 视频教程-iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-iOS
iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化 小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh.MJExtension),目前在国内的使用率非常高. 李 ...
- iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-李明杰-专题视频课程...
iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-236人已学习 课程介绍 得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术 ...
- Unity 3D中的内存管理与优化游戏运行性能的经验
Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备的游戏开发,动辄内存占用飙上一两百兆,导致内存资源耗尽,从而被系统强退造成极差的体验.类似这种情况并不少见,但是绝大部分都是可以避免的.虽 ...
最新文章
- PACBIO:经历9件大事,终获一致认可?
- nginx忽略favicon.ico日志
- 2020-11-11(对话框简单总结)
- 基于模型的嵌入式开发流程_如何使用基于模型的测试来改善工作流程
- java for update 无效_java.sql.BatchUpdateException:调用中的无效参数
- 小学计算机课程报告怎么写,小学计算机课论文摘要怎么写 小学计算机课论文摘要范文参考...
- 自己调用NTDLL函数
- 回味手写三层-增删改查
- OpenCV之LBP算法学习
- 聚焦 Kusama Parachain Lease Offering(PLO),Karura 先行网抢先参与
- 动态规划——最小找钱问题
- unix服务器日志文件,UNIX 系统日志
- Redis 缓存穿透、缓存雪崩、热点Key问题分析和解决方案
- 全民免费wifi斗法中
- CSS遮罩父元素透明,子元素不透明
- 教师计算机知识比赛方案,小学信息技术教师基本功竞赛方案.doc
- 人工智能背景下的Office 365现状和发展趋势
- echarts 重新渲染数据
- 网站的seo以及它和站长工具之间的秘密
- FFmpeg支持的音频和视频编解码格式