苹果ios10占多少内存o所占内存多少

苹果9.3比7.1多占用多少内存_百度知道苹果iOS9.3正式版占的内存有多少_百度知道iOS 开发中,单款应用程序的最大可用内存是多少?
iphone 和ipad 的可用内存分别是多少?
iPad1最大可占到110M左右,如果冲到120M就有可能被杀掉。
iPad2可以占用到300M以上,这个不太稳定,可能冲到350就被杀掉了。
可以在收到内存警告的时候自己的程序内部做些内存释放处理。 另外可能在内存紧张时设备的cpu也非常紧张或正在超频,那你即使在程序中对系统内存警告进行了处理,基本上也于事无补了,会crash。因为系统的内存警告有一定的滞后性,你收到后再处理,可能已经晚了,再加上cpu没空处理,再延后些就更不行了。所以以上我说的两个可能的最高值也不太可靠。
你也可以用intruments实时跑一下,看下内存到多大时收到警告级别,控制下自己的内存,也可以用直接读取当前设备中自己的程序占内存和设备剩余内存进行实时处理,对自己的程序进行内存处理,防止被杀掉。这种方式比收到警告再处理可靠多了,目前我们内存占用大的程序基本上用这种方式处理,不理会系统的内存警告。 因为我最近在做ipad的程序,所以对ipad1和ipad2的内存稍微了解点,iphone各版本处理方式一样,只是内存占用不太一样。iphone4和4s的内存与ipad2是一样的。
如果你想让用户 在尽量多的iOS设备上得到比较稳定的体验,
实用过程中不Crash, 不因为GC而停顿,
答案是: 越少约好. 比如, 在一个越狱的iPod touch4上,
如果用户安装了第三方的输入法,
在加上用户频繁切换应用程序,
那么你最好能将内存控制在3M以内.
否则会频繁收到memory warning的提醒. 一旦收到该提醒,
iOS会自动调用viewDidLoad方法, 释放none top view, 来节约内存.
有很多代码质量不高的App 就会在这里crash掉.接着用户在你的App上点击了一些按钮,
刚才这些释放掉的view又需要重新建立.
于是就会卡一下.如果在memory warning后没有释放足够多的内存, iOS会直接kill掉你的App.那么, 如何保持内存占用不要太高?1.
tableviewCell中的icon图片要用剪裁过的, 不要把那些1M左右的图片直接从web端传输过来2.
一些比较深,或者循环比较多的代码block中, 尽量在外围套一层autorelease pool,
执行完毕后直接[pool drain]3.
tableview cell一定要reuse,
其他类似的view也要reuse.暂时想到的就这些,
哪位有经验的可以帮忙补充下.
这个跟iOS系统版本、硬件版本都有关。但512M那是相当不靠谱的,iOS系统就不占内存了吗?App运行时,资源文件所占的空间可以相对大一点(不一定都加载到内存),但动态开辟的内存超过20M在iPad1代上就很不稳定。
根据上的说法,App占用的内存空间可以是as much as you want, until the OS complains。然后会有人说,可以使用的内存很大,其实是一种误解,到现在人家Apple也没有说自己的内存管理规则,也不告诉你iOS系统在运行时所占的空间、后台保留程序的内存保有量,App运行时,并不是一定要把资源全部加载到内存,App运行时真正在内存中占的空间是动态的,它能够使用的内存也是动态的。
建议不要超过 10M. 如果用户 只运行一个程序 内存是用可以到 30M 左右.
不过这概率 几乎不可能.
一般 超过 10M 就会 memory warning L1 系统会 kill 一些不用的 view
内存管理 是门学问. 呵呵
转载StackOverflow上面的回答做了一些测试如下,不是官方数据iPad1: 127MB/256MB/49% (crash amount/total amount/percentage of total)iPad2: 275MB/512MB/53%iPad3: 645MB/1024MB/62%iPad4: 585MB/1024MB/57% (iOS 8.1)iPad Mini 1st Generation: 297MB/512MB/58%iPad Mini retina: 696MB/1024MB/68% (iOS 7.1)iPad Air: 697MB/1024MB/68%iPad Air 2: 1195MB/2048MB/58% (iOS 8.x)iPod touch 4th gen: 130MB/256MB/51% (iOS 6.1.1)iPod touch 5th gen: 286MB/512MB/56% (iOS 7.0)iPhone4: 325MB/512MB/63%iPhone4S: 286MB/512MB/56%iPhone5: 645MB/1024MB/62%iPhone5S: 646MB/1024MB/63%iPhone6: 645MB/1024MB/62% (iOS 8.x)iPhone6+: 645MB/1024MB/62% (iOS 8.x)iPhone6s: 1195MB/2048MB/58% (theoretical, untested)iPhone6s+: 1195MB/2048MB/58% (theoretical, untested)
这里有篇文章,可以参考一下
LS的512m太不靠谱
我写了个for循环,模拟内存泄露,5s真机调试。 在程序占650M左右的时候,崩溃了。
5s内存是1G。
我写了个for循环,模拟内存泄露,5s真机调试。 在程序占650M左右的时候,崩溃了。
5s内存是1G。
ipad1上真是太让人崩溃了
总是&Warning&: Received memory warning.
然后就Application 'XXX' exited abnormally with signal 9: Killed: 9
培训的时候讲师给的数据,给你用作参考吧,注:该数据的科学性本人无法保证。培训的时候讲师给的数据,给你用作参考吧,注:该数据的科学性本人无法保证。
好像没有限制,但系统会自会处理,杀掉进程吧
已有帐号?
无法登录?
社交帐号登录升级iOS8.1占用内存大,iOS8.1升级为什么要这么多空间
升级iOS8时一狠心删很多照片和应用,所以这次我可以一边等待iOS8.1的升级,一边翻看朋友圈里的吐槽。iOS8.1的升级包是117 MB,需要2.2GB的释放空间,或许由于大家掌握了可以绕过较大存储空间的升级方法,所以此次升级关于空间不足的抱怨要少了很多。下面就一起来看看到底怎么回事吧
但是,问题来了。为什么iOS的升级需要那么多空间?几周前&Reddit用户&kapits&&曾在iOS8更新时提出了类似问题,一位叫做StarManta的用户给出了比较详细的解释。
kapits提出的问题是:&为什么75 MB的升级包需要1.5 GB的安装空间?&
StarManta解释道:因为每1MB的文件需要安装更新时要经过加载源文件&复制&更新&把更新内容放入原文件夹&删除源文件,这样一个过程。
至于为什么要所有文件同时升级,而不是一次升级一个?我猜这是为了保险起见。如果一次只升级一个文件,万一中途停止,就可能出现只升级了一半,甚至手机&变砖&的情况。反之,如果你将所有修改的临时文件储存到最后一刻,这样就能避免关键时候升级中断。即使升级出现问题,手机也能恢复到原来的版本。
这样看来,苹果系统升级需要那么大的空间也的确情有可原。其实,除了删内容、腾空间外,用户也可以将设备连接到Mac或Pro中通过iTunes进行升级。这样以来,就不用因为储存空间不够而在&升与不升&的问题上纠结了。
根据苹果本月初发布的数据,iOS8的采用率仅为47%,还不到一半。当时&Fortune&的分析认为,除了空间不够,iOS8的&漏洞百出&也是人们不愿升级的重要原因。而iOS8.1,除了增添了iCloud照片图库,我们还用不了的Apple Pay,以及可以使用iPad和Mac收发短信与彩信等功能,也对先前的众多问题进行了修复。
然而,就像&Readwrite&的文章所说,除了修复漏洞,苹果更需要修复用户对iOS8的信心。iOS8.1的升级情况会不会好一些?我们且等着苹果发布的最新数据吧。
顶一下(0) 踩一下(0)
热门标签:【扫盲】别再成天1G 2G了,先来了解一下ios运存机制_ipad5吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:227,763贴子:
【扫盲】别再成天1G 2G了,先来了解一下ios运存机制收藏
之前那个帖子有人在里面吵架,我直接删了。而且错别字很多,现在重新整理一下再发。还有很多东西我都没说,感兴趣的可以@我讨论。楼主会试着用最白话的方式粗浅的解释一下iOS内存机制,为什么iOS的RAM一直都是最少的但iOS却又是最最流畅的。大神请直接忽略此帖,仅希望小白们看过后不会再因为担心iPad内存不足而到处纠结1G RAM 2G RAM了那档子事了...这些帖子楼主看得眼睛都疼了......
楼主不会搬一堆名词术语贴出来吓唬人,各位注意几个关键名词与概念就行:1.活跃内存2.非活跃内存3.墓碑机制4.RAM是内存,储存空间是外存 注意这些这些就够了,好了楼主要开始吹牛了。
先明白一个基本概念,iOS和Mac OS都是基于UNIX开发的系统,这和windows有着很大的不同,包括内存机制,这便是为何不能拿windows的使用习惯来看待iOS。另外要注意,iOS没有系统缓存。 首先看看内存的意义何在。内存的介质就是高速闪存,它比外存的速度要快不少。通过将程序加载到内存后让处理器在一个更快的读写环境下处理数据,从而提升系统性能。还要先明白的是内存仅是让软件流畅运行的条件之一,处理器才是决定性因素。内存就好比瓶子的容量,处理器就是瓶颈,瓶子里装再多水瓶口不够大那水流的依旧很慢。
在iOS中,撇开联动内存和可用内存不讲,所有在内存里的程序都是被标记为活跃内存或者非活跃内存的。 活跃内存可以先简单理解为正在前台运行的软件以及刚退出不久的软件所占用的内存,这些数据是当前最活跃的(读写频率最高的)。而非活跃内存即是系统记录的你经常使用的软件所占用的内存,当前处理器并没有读取它们,但它们仍然被放在内存里处于“待命”状态,方便你下一次使用这些软件时处理器能直接从内存读取数据,而不必花费更多时间先从外存调到内存再读取。
重点在这,当iOS检测到你当前运行的软件需要更多活跃内存时(实际上软件向处理器请求更多内存),系统会选择性地释放掉后台软件占用的非活跃内存,转而提供给当前软件。如何释放是根据你的使用习惯来定,比如你经常用QQ,其次是微信。那么当前台内存不足时系统会优先释放掉微信占用的内存,若还不够则继续释放QQ所占用的内存。 可以假设,如果有个软件占用的内存大到要占满整个RAM,那么系统则会释放掉所有非活跃内存全部提供给这个软件使用。这便是为何你不用担心玩游戏什么的会因为内存不足而卡顿了,因为只要这个游戏有需要,就算是需要所有内存系统都会马上提供给你,不过你若不玩这游戏了那这些内存又会马上提供给其他程序。 这种内存释放机制是有“预见性”的,并非只在内存不足时临时释放。iOS会根据你的使用习惯等数据来分析,在你打开一个软件时立即准备足够内存供其使用,若该软件运行时又需要更多内存才会临时释放更多。iOS7甚至能根据你的使用习惯来预先加载常用软件,所以iOS用的时间越长就越顺手。(当然,记录用户使用习惯这种特性并不是只有苹果才有) 而且iOS的内存管理十分严格,任何第三方App都没有权限直接调用设备上的硬件,也就是说内存分配与释放都是处理器说了算,任何第三方软件都没有权限去占用固定内存(除非越狱),不会出现例外。自然就不会像windows里一些不规范软件那样,程序已经关闭连但内存还一直占着。
这便是区别所在,iOS里所有第三方程序都不可能一直占用内存,一旦系统需要更多的活跃内存,就会强制释放后台非活跃内存提供给前台。而windows不同,一个在运行的软件你若不关闭它就会一直在内存里运行。
既然iOS里的程序不可能一直占着内存,那iOS岂不是没有“后台运行”这一说法了么?iOS也的确不能后台,不像windows那样能一边前台看着电影一边后台干着其他事情。
事实上,在iOS内,当一个软件从前台转入后台后5秒内便会完全停止运行,极少数特殊软件能运行10秒,某些需要后台下载功能的软件在转入后台后也最多继续下载10分钟。这就是某种意义上所谓的的“伪后台”。 我们现在用着的后台功能大概就是这么个尿性。这里楼主要借用一下Windows phone里的一个名词——墓碑机制。 何为墓碑机制?好比大家能从楼主的墓碑上了解到楼主活着时是个什么鸟样,但楼主这个鸟人其实已经挂了。也就是说当一个程序被系统从内存移除后,系统允许这个程序给自己立个“墓碑”,记录自己“生前”的样子,等你要让这些程序“复活”的时候,系统会照着它墓碑上那鸟样给他重新加载到内存里去。“墓碑”状态下的程序们不会占用CPU,不会占用内存,甚至不会产生功耗。你们也能称之为“后台挂起”,差不多那个意思。 这就是为什么你长时间不用浏览器后再打开它时,你会发现页面重新加载了一次但网页并没有刷新,也是为什么iOS的后台功能需要软件的支持才能实现。iOS就是用这种方式实现的后台,同时又保证内存的。
综上所述,在iOS这样的内存管理机制下,你完全不必担心软件会因为分配到的内存不足而卡顿,因为任何软件被放在前台时都有权限向处理器要求尽量多的内存。 所以在iOS里,你完全没有必要去手动清理后台程序来释放内存,iOS会自动释放。相反iOS比你更“聪明”,它知道该释放哪些程序的内存,何时释放,释放多少,而自己手动清理内存完全是多此一举。 至于那些所谓的内存清理软件所列出的后台程序所占内存,那也并不是实际被占用的内存,多数都是那些程序所请求的内存大小。楼主前面也说了,iOS里的软件是没有权限直接调用硬件的,那么内存清理软件又是如何实现清理内存功能的?当你使用内存清理功能时,它会一直向处理器请求尽量多的内存,处理器便尽量将后台里的内存释放出来供它使用,等它最大限度的获得了内存后,再自己释放掉自己占用的这些内存......这就完了。本质上讲,iOS的内存清理软件并不是“清理”了内存,而是先将其他软件“挤出”内存后再把内存让出来。
我们再反观内存的意义:是为了让CPU能更高效的读取数据,才将程序直接存放在内存里的。而你却秉着“让系统更快”的原则隔三差五把内存里的程序全抹掉,等你要用那些程序时系统还得先从外存调到内存然后才能开始读写,你说这是快了还是慢了?
最后可能有人会问楼主:虽然iOS这种机制能保证每个软件都最大限度地使用内存,但如果有个游戏所需要的运存超过了设备所配备的RAM那怎么办?楼主要说的是,你觉得苹果会批准一个他们设备带不动的软件上架App Store么? 最后的最后,大的内存对于iOS来说也并非完全没有意义,起码这能为设备一个运行更大型的软件创造一些条件。但内存不是决定性条件,若苹果让iPad具备了运行更大型软件的处理能力,那自然会给它一个够用的内存。 如今的手机软件还没有哪个能一口气占满1G内存的。电脑上显卡的显存大家都知道吧?一个独立显卡,就算才512M的显存对90%的人来说都够了,而且电脑跑的还是x86游戏,ARM上的软件能占不了多少内存。 还有人一定肯定准备回楼主说:如果苹果加大内存然后换真后台的话不是更好吗?楼主只能说,安卓就是真后台,你可以同时运行几个软件,但你不得不牺牲一些流畅度。并且安卓给软件提供的权限太高,你在享受高度“自由”的同时却得防着流氓软件霸着你的内存不让。所以在苹果有办法不影响到现在流畅度的同时提供真后台之前,你就只能接受这种后台。既然目前只能是伪后台那你觉得大内存的作用能多大呢。 楼主并没有说安卓和windows不好,而是说不同的机制都有不同的好处,但同时又有他们相对应的弊端。这些问题不是简单的好或不好就能评价的。 楼主是在解释为什么一味加大内存对iOS意义并不大,不是说让各位将就用久得了,在意配置的朋友要先了解哪些才是该在意。
@青面兽w杨幂刚才你问的那个我没看到,帖子被我删了.能再发一下么
感谢吧主扫盲,让我们学到好多知识。
太赞,感谢楼主
前排是非多,楼主我洗洗去睡觉了
我的天 字太多了
好帖子不该只有这么点回复,我帮你顶一下
不顶对不起自己的良心
居然看下来了。。。我觉得我们现在玩的软件没有多少能占用所有内存的。。。所以不用担心。
对不起。怪不得没了呢.
✎﹍﹍₯㎕……你想的越多,顾虑就越多;什么都不想的时候反而能一往直前。
兢兢业业啊,都9级了,我还是6。。。
我一字一句的看完了 而且看的很仔细 写的很好 通俗易懂!涨姿势 谢谢楼主分享!——像楼主这样,文章写的这么好,又懂音乐,长得好看,柔情似水,风度翩翩,如风中柳絮般飘然又有礼貌的好孩子,说实话,我一个可以打十个!
所以很好奇512的迷你1为何无压力运行A8- -但狂野飙车系列和其他某些很大型的游戏开着,也可以开着酷狗听歌啊。这难道不是真后台吗?可以一直听。一直玩。
楼主,想问下x86 运行的内存要比arm架构需要的内存大?不是这样吧,求解释~~~
楼主。我支持你。你这么一说让我懂了一些以前不知道的iOS系统知识,而且对我来说iOS流畅度最重要。很喜欢ipad。不管他的内存多大!1g足以
涨姿势了…
不是说苹果已经是真后台了吗。。。
光顾转发忘顶了!受益匪浅我是决定mini2了!
感谢楼主费心讲解,不过我觉得只要喜欢RAM多大我都会买的。
科普类好贴,字数太多,先顶了待会再看。不过我看过一则报道,说目前64位的处理器要配4G的RAM,才能发挥出更好的功能,但想想苹果公司既然能向市场推出新产品,必定能够满足广大用户的各种需求。
初次接触,看来还得学很多啊
在mini2吧看过转帖,还是来顶顶原著
小红帽大大的帖子居然没站到前排!可惜了!跪求吧主加精!!!
跪求吧主加精!难得的技术贴啊
太长都没耐心看完了, 但还是要回复楼主哈
实在看不下来···但是看见LZ的头像就倍感亲切···
嗯 好像明白了些什么小白想请教楼主:像扣扣微信这样的软件没有挂后台却可以自动接受消息的是怎么个原理?我记得以前用安卓的时候要挂着扣扣才能接收消息的呀?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 苹果ios10内存 的文章

 

随机推荐