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

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

相关推荐
没头脑的ht11 小时前
ios App的启动过程和启动优化
ios
敲代码的鱼哇12 小时前
设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件
android·ios·uniapp·harmonyos
江上清风山间明月16 小时前
Flutter最简单的路由管理方式Navigator
android·flutter·ios·路由·页面管理·navigator
fangcaojushi16 小时前
解决videojs在ios端视频无法播放的问题
ios·音视频
调皮的芋头1 天前
iOS各个证书生成细节
人工智能·ios·app·aigc
coooliang1 天前
【iOS】SwiftUI状态管理
ios·swiftui·swift
胖虎11 天前
深入解析 iOS 视频录制(三):完整录制流程的实现与整合
ios·音视频·cocoa·ios视频录制·自定视频录制
coooliang1 天前
【iOS】包大小和性能稳定性优化
ios
又知道了小老虎1 天前
iOS开发基础-通过C++快速掌握Objective-C语言(基础)
ios
关键帧Keyframe1 天前
音视频面试题集锦第 19 期 | 读取纹理数据
ios·图像识别·音视频开发