Advertisement

Unity3D中如何管理内存占用

阅读量:

最近网友通过网络平台浏览了Unity3D在手机及其他设备上导致其占用大量内存的情况. 本指南旨在深入探讨Unity3D内存管理及优化方法.

Unity3D中提供了两种资源动态加载机制:其中一种是通过Resources.Load组件进行资源导入,默认情况下会从一个预设好的AssetBundle程序包中加载相关素材。另一种方法则是直接使用AssetBundle组件完成资源管理。通常情况下,你必须手动创建并配置这些文件路径以确保能够正常运行时阶段进行资源加载操作时,则可以根据需要设定具体的路径信息以及数据来源。

在实际应用中,在场景里所有静态对象都经历了一个加载流程(具体来说,在Unity3D后台自动完成这一操作)。

详细说明细节概念:
AssetBundle运行时加载:
该方法专为独立程序设计(CreateFromFile),它是一种快速且高效的加载方式。
此外还支持从内存中创建(CreateFromMemory),其中使用的 byte 数组既可以源自文件缓冲区亦可源自网络下载或其他途径获取。
值得注意的是 Web 资产通常在数据读取完成后自动生成一个 assetBundle。
完成创建后系统仅存储了 Asset 区块到内存中并未形成完整的 Assets 实体。
资产加载过程:
通过调用 AssetBundle.Load(类似于 Resources.Load)可以从内存镜像中解析

全部评论 (0)

还没有任何评论哟~