ios 内存大小的限制 (因占用内存太大而crash)

因ios对每个程序都有最大的内存分配限制,如果超过了这个阈值,会被系统强制关闭,造成crash,通常出现在bugly上的错误码是:SEGV_ACCERR。
在调试的时候,会显示类似这样的信息:
EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=650 MB, unused=0x0)

以下是各机型的限制(对于不同的RAM大小,限制不同):

256MB: 49% - 51%
512MB: 53% - 63%
1024MB: 57% - 68%
2048MB: 68% - 69%
3072MB: 66%
4096MB: 77%

iPhone各机型RAM:

iPhone4/iPhone4s:512MB
iPhone5/iPhone5s/iPhone5c:1GB
iPhone6/iphpne6Plus:1GB
iPhone6c:1-2GB
iPhone6s/iPhone6sPlus:2GB

例如:IPhone6(ios12)的RAM是1G(1024M),则单个APP内存最大限制: 650MB(62%)

内存泄漏的一些参考:
https://segmentfault.com/q/1010000006200228
https://www.cnblogs.com/doudouyoutang/p/9686826.html
https://blog.csdn.net/evol_f/article/details/82981152
https://www.jianshu.com/p/f7cd3a9f2877?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

你可能感兴趣的:(ios 内存大小的限制 (因占用内存太大而crash))