在三星S4上分给一个程序的内存是128M,而加载一张640*1136的背景图要十几兆内存,而且跳转到其它activity时上一个activity背景图占用的内存并不会立即释放,点返回键退出程序时也不会立即释放。把所有的activity点一遍内存基本就满了,然后下一次进入程序时就容易出现out of memory的错误。
而在另一个480*800的三星手机上分给一个APP的内存就几十兆,一个背景图就不会占用这么多内存,也没有出现过out of memory的错误。
对于加载这种高分辨率的背景图有没有好的优化方案
------解决方案--------------------
载入时适当缩小呢?绘制背景的时候用matrix放大。。。感觉只能在图片质量跟性能上做一个选择了
------解决方案--------------------
把需要的图片,按上下左右中,切成不同的小图片,加载内容时,显示中间的图片,尽可能的让图片小。当内容大于图片时,现做接伸
------解决方案--------------------
分辨率已经决定了内存占用,合理改进整个app的内存占用才对
------解决方案--------------------
这分辨率也会OOM?给个帖子楼主你看看.可以学学关于图片的优化.
http://blog.csdn.net/shuipingzildy/article/details/11976757
我之前也做过一个关于图片处理,和图片展示的app,大量的图片,分辨率都不低.开始也经常OOM.可以试试用第三方开源包来帮你加载图片.他们对内存的控制不错,会根据你的设置来压缩图片,另外图片没用了就释放内存.当然你自己也要注意,所有bitmap没用了就recycle,设为null,这样可以加快系统回收内存.