物理内存:CPU访问内存是一个慢速过程,我们需要做的是减少Cache miss,就让内存从数据不连续的状况变为内存连续的情况,所以Unity提供了ECS和DOTS。台式设备与移动设备内存架构差异很大,移动设备没有独立显卡,独立显存,显存和数据内存在一个地方,CPU板载面积更小、缓存级数更少、大小更小。物理内存是指由于安装内存条而获得的临时储存空间。
虚拟内存(操作系统层级):内存交换。移动设备不支持内存交换,原因是移动设备上的IO速度很慢,可存储物的擦写能力很差。IOS可以进行内存压缩,Android没有内存压缩。虚拟内存是计算机系统内存管理的一种技术。
内存寻址范围:32位CPU和64位CPU
Android内存管理:
内存最基本管理单位是Page(4K一个),回收和分配以page单位,内存分为用户态和内核态,内核态内存用户态严格不能访问。
内存杀手——low memory killer,当内存不足时,lmk会优先从下之上开始“杀”。
内存指标*SS:Resident Set Size(RSS),Proportional Set Size(PSS),Unique Set Size(USS)。有时候USS与PSS相差过大,就是该程序调用了一个比较庞大的库,导致内存公摊了。我们能做得优化就是降低USS优化和在PSS上降低压力。文章来源:https://www.toymoban.com/news/detail-607751.html
Unity内存管理
Unity是一个C++引擎&文章来源地址https://www.toymoban.com/news/detail-607751.html
到了这里,关于Unity内存管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!