1)iOS进程增加内存上限的接口
2).so mmap内存占用排查的问题
3)在使用Recast Navigation遇到的两个问题
这是第420篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。
Memory
Q:在打iOS包的时候注意到Xcode里有这么一个设置,在文档里搜到了如下链接,说是能让应用获得更高的内存上限?实际效果怎么样,有没有什么副作用?大家有没有用过?
com.apple.developer.kernel.increased-memory-limit | Apple Developer Documentation
A:应该说的是Xcode里Increased Memory Limit这个设置。我们项目实测能让iOS设备对APP因内存而闪退的临界值从1.8GB上升到2.3GB,多出这500MB能做很多很多事了。
注意点基本也写在文档里了:只能在iOS15版本以上的设备使用;实际提升空间是跟硬件设备走的,要用接口os_proc_available_memory | Apple Developer Documentation查看;理论上,该设置抢占了其他进程的内存分配空间,所以有导致其他后台进程被杀死的副作用风险。
该回答由UWA提供,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技
Memory
Q:我项目中.so mmap这一块占得特别高(就下图红框这块),最高甚至有400/500MB,用《Unity移动游戏性能优化全解析与小游戏转化的实战经验》这个链接里查出来的.so文件加起来远没有这么大。剩下的部分是什么导致的呢?接下来该怎么查呢?

A:有可能是触发了安卓系统层内存统计的Bug,可参考如下链接的说法:
Unity项目Android平台内存分析
该回答由UWA提供,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技
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问答社区提供了回答,欢迎大家转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技
封面图来源于网络
今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。
UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com