android 开发注意点

android app开发中,OOM错误一般是由于程序设计不当引起的。

大多数情况下,如果Activity中加载了图片,关闭页面时又没有释放资源导致Memory Leak,程序就很容易由于OutofMemory而强行关闭。

 

几条可能有用的应对措施:

1)在Activity的onDestroy方法中,将所有该Activity加载的图片置为null,这样至少保证图片资源能够被虚拟机回收。

2)从网络读取图片资源时,先取得图片的size和屏幕的宽、高、分辨率,然后按比例缩放,只取合适大小的图片。

3)需要加载的图片集中管理,并使用Soft Reference引用图片(注意处理图片资源不可用的异常)。

 

几条可能没用的应对措施:

1)将Drawable设置为View的Background时,设置Drawable.setCallback(null),取消对View的引用。

2)调用Bitmap的recycle方法,对于Drawable,先用BitmapDrawable.getBitmap()方法取得Bitmap。

3)尽量直接取到可用的图片,避免中间转换步骤(Resize、Rotate等等)。

 

根本的解决方法:

做严格的Code Review,找出Memory Leak的原因,并释放掉这些Object。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值