文章目录

  • 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内存管理与优化(三)相关推荐

  1. 【Unity】Unity内存管理与优化(一)内存域、堆栈、垃圾回收、内存泄漏、内存碎片

    文章目录 Unity内存 内存域 - 托管域 - 本地域 - 外部库 - 跨桥操作 堆和栈 - 栈 - 堆 - 堆栈的使用 垃圾回收 - Mono内存分配过程 - 内存泄漏 - 内存碎片 - 运行时垃 ...

  2. 【Linux 内核 内存管理】优化内存屏障 ③ ( 编译器屏障 | 禁止 / 开启内核抢占 与 方法保护临界区 | preempt_disable 禁止内核抢占源码 | 开启内核抢占源码 )

    文章目录 一.禁止 / 开启内核抢占 与 方法保护临界区 二.编译器优化屏障 三.preempt_disable 禁止内核抢占 源码 四.preempt_enable 开启内核抢占 源码 一.禁止 / ...

  3. C语言 --- 动态内存管理(上)+优化版通讯录+笔试题

    文章目录 前言 一.为什么存在动态内存分配 二.动态内存函数的介绍 2.1.malloc函数+free函数 2.2.calloc函数+free函数 2.3.realloc函数 三.常见的动态内存错误 ...

  4. 关于mysql内存管理_MYSQL内存管理及优化

    MYSQL内存管理及优化 内存是影响数据库性能的主要资源,也是mysql性能优化的一个重要方面: 内存优化的原则 将尽量多的内存分配给mysql做缓存,但是要给操作系统和其他程序的运行预留足够的内存, ...

  5. gperftools mysql_利用 gperftools 对nginx mysql 内存管理 性能优化

    利用 gperftools 对nginx 与 mysql  进行 内存管理  性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...

  6. Mysql 内存管理及优化

    Mysql 内存管理及优化 1)内存优化原则 1) 将尽量多的内存分配给 MySQL 做缓存,但要给操作系统和其他程序预留足够内存. 2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的 I ...

  7. 视频教程-iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-iOS

    iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化 小码哥教育CEO,曾开发了2个iOS的流行开源框架(MJRefresh.MJExtension),目前在国内的使用率非常高. 李 ...

  8. iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-李明杰-专题视频课程...

    iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化-236人已学习 课程介绍         得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术 ...

  9. Unity 3D中的内存管理与优化游戏运行性能的经验

    Unity3D在内存占用上一直被人诟病,特别是对于面向移动设备的游戏开发,动辄内存占用飙上一两百兆,导致内存资源耗尽,从而被系统强退造成极差的体验.类似这种情况并不少见,但是绝大部分都是可以避免的.虽 ...

最新文章

  1. PACBIO:经历9件大事,终获一致认可?
  2. nginx忽略favicon.ico日志
  3. 2020-11-11(对话框简单总结)
  4. 基于模型的嵌入式开发流程_如何使用基于模型的测试来改善工作流程
  5. java for update 无效_java.sql.BatchUpdateException:调用中的无效参数
  6. 小学计算机课程报告怎么写,小学计算机课论文摘要怎么写 小学计算机课论文摘要范文参考...
  7. 自己调用NTDLL函数
  8. 回味手写三层-增删改查
  9. OpenCV之LBP算法学习
  10. 聚焦 Kusama Parachain Lease Offering(PLO),Karura 先行网抢先参与
  11. 动态规划——最小找钱问题
  12. unix服务器日志文件,UNIX 系统日志
  13. Redis 缓存穿透、缓存雪崩、热点Key问题分析和解决方案
  14. 全民免费wifi斗法中
  15. CSS遮罩父元素透明,子元素不透明
  16. 教师计算机知识比赛方案,小学信息技术教师基本功竞赛方案.doc
  17. 人工智能背景下的Office 365现状和发展趋势
  18. echarts 重新渲染数据
  19. 网站的seo以及它和站长工具之间的秘密
  20. FFmpeg支持的音频和视频编解码格式

热门文章

  1. delete 后加 limit
  2. 智解京东618——购物狂欢背后的安全暗战
  3. 常用HTTP抓包工具Fiddler使用的12个小技巧,值得收藏!
  4. 网页段落文字右侧参差不齐对齐方式
  5. 时间复杂度和空间复杂度的计算方法
  6. 让IE浏览器支持HTML5标准的方法(转)
  7. Block源码解析和深入理解
  8. jQuery删除元素---remove()与empty()
  9. C语言学习纯纯小白-1,C语言代码开头为什么要有#include <stdio.h>
  10. MEM/MBA数学强化(08)数据分析