iOS进程增加内存上限的接口

iOS进程增加内存上限的接口

1)iOS进程增加内存上限的接口
2).so mmap内存占用排查的问题
3)在使用Recast Navigation遇到的两个问题


这是第420篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页:community.uwa4d.com
UWA QQ群:793972859

Memory

Q:在打iOS包的时候注意到Xcode里有这么一个设置,在文档里搜到了如下链接,说是能让应用获得更高的内存上限?实际效果怎么样,有没有什么副作用?大家有没有用过?

https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.kernel.increased-memory-limit

A:应该说的是Xcode里Increased Memory Limit这个设置。我们项目实测能让iOS设备对APP因内存而闪退的临界值从1.8GB上升到2.3GB,多出这500MB能做很多很多事了。

注意点基本也写在文档里了:只能在iOS15版本以上的设备使用;实际提升空间是跟硬件设备走的,要用接口os_proc_available_memory | Apple Developer Documentation查看;理论上,该设置抢占了其他进程的内存分配空间,所以有导致其他后台进程被杀死的副作用风险。

该回答由UWA提供,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/67b2a8453d306f3e9d594e5f


Memory

Q:我项目中.so mmap这一块占得特别高(就下图红框这块),最高甚至有400/500MB,用《Unity移动游戏性能优化全解析与小游戏转化的实战经验》这个链接里查出来的.so文件加起来远没有这么大。剩下的部分是什么导致的呢?接下来该怎么查呢?

A:有可能是触发了安卓系统层内存统计的Bug,可参考如下链接的说法:
https://www.ownself.org/2023/unity-memory-profile-on-android.html

该回答由UWA提供,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/67b2a5843d306f3e9d594e5e


Terrain

Q:在使用Recast Navigation遇到的两个问题:
1. 场景中的资源(网格bin文件)都打成AssetBundle了,那现在LoadNavMesh的方法是不是就会有问题了,要怎么修改?

2. 切换场景的时候,之前场景加载的场景数据怎么清除?

A:可以参考下我的开源项目,支持Load二进制数据,说明都在RecastCustom目录中。

821869798/recastnavigation: recastnavigation接入Unity3D,Github Workflow一键构建全平台库,并附带使用Demo,Demo已接入动态障碍物,动态人群避障,支持Unity里根据配置生成recast的NavMesh,支持Unity Editor预览Recast寻路网格,请看RecastCustom目录。

感谢unifan@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/67160fcc682c7e5cd61bf961

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859