首页 文章

为什么在下载和解包后将AssetBundle加载到内存由于内存不足导致iPad崩溃?

提问于
浏览
0

我们刚刚在Unity 2D中完成了2D游戏,但很难解决一些与内存相关的严重问题 .

使用的Unity版本:Unity 2017.2.2f1

我们使用AssetBundles和On Demand Resource下载平均大小为20MB的包(纹理,精灵表,bg图像和场景) .

我们已经成功地将我们的应用程序商店大小限制为90MB . 在Xcode中分析项目时,构建占用的初始内存为180 MB . 但是当我们通过On Demand Resource下载任何级别(资产包)时问题就开始了 . 内存使用量从180MB跳到568MB .

1.为什么在下载和加载大小为20MB的AssetBundle后,统一消耗388MB内存?

2.为什么每次加载一个新场景时,在卸载场景后,unity会保留一些内存,即不清除分配的块?

  1. RGBA压缩PVRTC 4位在Unity设备中运行吗?

5.是否有任何第三方SDK来压缩Unity的2D纹理和GUI图形?

请帮助我,以便我可以将项目交付给客户其他明智的,我的工作有风险:(

提前致谢 .

1 回答

  • 0
    • 检查资产包压缩以及如何加载资产包 . 压缩资产包在内存中完全解压缩,因此建议对包使用Uncompressed或Chunck Based压缩以避免内存峰值 .

    • Unity使用托管内存加载和卸载可能会导致一些内存泄漏,因为GC几乎可以控制所有内容 .

    • PVRTC适用于所有IOS设备 .

    • 既然您的目标是iOS PVRTexTool就是您所需要的PVRTexTool Download

相关问题