android游戏,图片内存溢出问题

在使用android自带的canvas做游戏(2D)的时候,当加载的图片过多的时候,会遇到内存溢出问题。

 

图片的内存溢出当然会用到:bitmap.recycle();

注意:

1,此图片并不是立即就回收的,它就好像Java的回收机制一样,标记该回收资源;

2,某一成员变量使用了该方法后如果在使用它画图,就会出现错误,提示该bitmap不存在( use a recycled bitmap );因此在使用大量类似的bitmap的时候,可以使用集合,对集合中的资源先标记释放(bitmap.recycle()),然后清空集合;

3,在android中将成员变量赋Null,该对象并不会因此而释放资源;

4,BitmapFactory.decodeFile(path);方法实际上是在内存中创建了一个bitmap对象,因此在多次刷新的方法中一定不要使用该方法,否则一定会出现内存溢出问题;

5,在除了使用图片方面外,也可以从美术给的图片着手,对图片做一些要求。比如,图片中尽量不要有多余的透明的部分,多张零碎的小图拼成一张大图片(图片尺寸不宜超过1024×1024)等等。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值