返回信息流RT,res下有一个大图片,第一次调用Activity的时候还正常加载,但是返回上一级想再次进入Activity调用图片的时候就溢出了。。。求问大牛有没有办法解决?比如怎么才能销毁图片,来回收图片内存?
这是一条镜像帖。来源:北邮人论坛 / java / #24520同步于 2013/3/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
[问题] Android的java编程内存溢出。。
alake
2013/3/16镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
clean一下试试?
【 在 alake (袋袋鼠) 的大作中提到: 】
: RT,res下有一个大图片,第一次调用Activity的时候还正常加载,但是返回上一级想再次进入Activity调用图片的时候就溢出了。。。求问大牛有没有办法解决?比如怎么才能销毁图片,来回收图片内存?
怎么加载的?直接用了res的id么?图片多大?需要一直以这个大小显示么?附上有几个办法可以试一下,不一定好用。
1.用bitmap,可以缩放显示小图。理论上来说大于手机分辨率的图是不需要常态完整载入的,小的时候缩小显示,放大后可以局部截取显示。
2.用完bitmap看看recycle了没有?
3.不知道你那几个Acitivity之间的顺序怎么样,有没有什么要求,不然也许那个显示用的activity可以用singleInstance+指定一个什么参数,,,你查一下吧,忘了。。。这个是我瞎猜的办法,我猜是那个Acitivity因为啥原因开了两个了,,,lol
4.看一下内存使用,按理来说8M(我记得这还是当年2.2的限制)的图片内存足够用了,可能因为别的原因导致的。
是bitmap,每次也是截取显示的。。
【 在 bixiaopeng 的大作中提到: 】
: 怎么加载的?直接用了res的id么?图片多大?需要一直以这个大小显示么?附上有几个办法可以试一下,不一定好用。
: 1.用bitmap,可以缩放显示小图。理论上来说大于手机分辨率的图是不需要常态完整载入的,小的时候缩小显示,放大后可以局部截取显示。
: 2.用完bitmap看看recycle了没有?
: ...................
现在好了,谢谢你。我这回只采用了一个activity,然后用不同的类来表示图片,再用一个统一的surfaceview来画图~~嘿嘿~谢谢啦~
【 在 bixiaopeng 的大作中提到: 】
: 怎么加载的?直接用了res的id么?图片多大?需要一直以这个大小显示么?附上有几个办法可以试一下,不一定好用。
: 1.用bitmap,可以缩放显示小图。理论上来说大于手机分辨率的图是不需要常态完整载入的,小的时候缩小显示,放大后可以局部截取显示。
: 2.用完bitmap看看recycle了没有?
: ...................