今天遇到个内存溢出的问题,在自身的代码上找原因找了很久没有找到,最后发现是软件启动时显示LOGO的功能上加载的一张高清背景图片导致的内存占用过高,图片分辨率为5120*3845,图片本身大小为686kb。
程序启动加载这张图片后发现内存占用竟高达100多M,程序在ARM设备上运行,本身运行内存就比较少,加载如图片后内存很快溢出了。发现是图片的问题后在windows上写了个Demo,加载同一张图片,发现内存占用也去到100多M。
尝试用美图秀秀软件打开通一张软件后发现了同样的问题,就是一张图片的占用内存很高。
虽然最后通过更改图片分辨率的方式解决了眼前问题,但是还是不清楚一张图片为何占用如此多的内存,希望得到遇到同样问题的大神解答。