中兴吧 关注:847,628贴子:1,981,651
  • 16回复贴,共1

【09-06中兴分享】好帖分享

只看楼主收藏回复

本文转自知乎(闪电君)
提问:为什么很多时候什么程序也不开,手机占用的内存依然非常高?
回: 类UNIX操作系统(包括Linux, Mac OS X, iOS, Android)的默认行为都是惰性释放内存。
惰性释放的意思是:能不释放内存时就不要释放内存,直到有新程序请求内存,而剩余空间又不够用的时候才释放不用的内存。
假设系统有1GB内存,App A需要占用300M,App B需要占用400M, App C需要占用500M。
当A和B正在运行时,系统内存被用去了700M。此时退出A,系统不释放A占用的300M内存,所以内存占用依然是700M。此时A再次被启动,系统可以不必从头载入A了,只需要继续用刚刚的300M内存就行,速度就快了。如果再退出B,此时系统依然占用700M内存。这时运行C,系统发现剩余的300M不够用了,就把B原本占用的400M给清理掉,于是C就能运行了。
为什么不在程序退出的时候就清理掉内存呢?因为除了让你数字上看起来舒服一点以外,这样做没有好处啊!程序数据在内存里,下次再启动同一个程序就快得多,下次开另一个程序如果内存不够,那现场清理就行了,清理内存速度很快,并不影响什么。


来自Android客户端1楼2015-09-06 04:11回复
    感觉好强大,心里好迷糊


    来自Android客户端2楼2015-09-06 08:14
    回复
      2026-07-27 09:09:28
      广告
      不感兴趣
      开通SVIP免广告
      看懂了,也就是说平时我们认为剩余内存越多就越好的现象是错觉,其实没啥用,也就好看而已


      IP属地:上海来自Android客户端3楼2015-09-06 08:34
      回复
        那为什么手机会卡


        IP属地:河南来自手机贴吧5楼2015-09-06 12:28
        收起回复
          楼主!力挺你。


          IP属地:湖南来自Android客户端6楼2015-09-07 08:37
          收起回复
            这种好贴不能沉


            7楼2015-09-08 11:46
            回复
              所以安卓机的运存需要越来越大。


              IP属地:广东8楼2015-09-08 12:02
              收起回复
                学习了


                来自Android客户端9楼2015-09-08 12:04
                回复
                  2026-07-27 09:03:28
                  广告
                  不感兴趣
                  开通SVIP免广告
                  明年将普及16G运存


                  IP属地:广东来自Android客户端10楼2015-09-08 12:42
                  回复
                    不明觉厉


                    来自iPhone客户端11楼2015-09-08 13:50
                    回复


                      来自Android客户端12楼2016-01-20 13:17
                      收起回复