内存溢出(OOM)

版权声明:1.版权归原作者Moment ° 回忆 ✨所有; 2.未经原作者允许不得转载本文内容,否则将视为侵权; 3.转载或者引用本文内容请注明来源及原作者; 4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。 https://blog.csdn.net/qq_35366269/article/details/83446924

什么是OOM?

     OOM是out of memory的简称,也称内存溢出。

     

什么样的场景下会出现OOM?

       1、在对图片进行内存缓存处理的时候就会出现OOM异常,可能在集合中存储几十张图片还好,如果需要存储几百甚至上千的图片就会出现内存溢出的情况,不管你的手机配置再高再好也会出现此种情况。比如说你的手机可能有1G的运行内存,Android并不会将1G的内存全部分配给你,不管手机的运行内存有多大,Android只会给每个App分配16M或者32M的空间,比如每张图片100kb,16M也只能加载160张左右的照片,要知道实际的App课远不止这些图片的,一旦超出16M就内存溢出了,

      

//获取Android系统给App分配的运行内存, 返回的数据以B为单位
        long maxMemory = Runtime.getRuntime().maxMemory();
        Log.i(TAG,"maxMemory:"+maxMemory);
        //maxMemory:402653184 

如何解决内存溢出?

猜你喜欢

转载自blog.csdn.net/qq_35366269/article/details/83446924
今日推荐