Android 内存优化实例

下面来看两个内存优化的实例,分别从bitmap和代码两个角度来对内存进行优化。

1.bitmap优化

bitmap是造成内存占用过度甚至是OOM(out of memory)的最大威胁。下面给出一些使用bitmap的小技巧。

1).使用适当分辨率和大小的图片

由于android系统在做资源分配的时候会对不同分辨率文件夹下的图片进行缩放来适配相应的分辨率,如果图片的分辨率与资源文件夹分辨率不匹配或者图片分辨率太高,就会导致系统消耗更多的内存资源。同时在适当的时候,应该显示合适大小的图片,列如在图片列表页可以使用图片的缩略图,而在显示详细图片的时候在显示原图,或者在对图像要求不是很高的情况下,尽量降低图片的精度。

2).及时回收内存

一旦使用完bitmap后,一定要及时使用bitmap.recycle()方法释放内存资源,自安卓3.0后,由于bitmap被放置在了堆中,其内存由gc管理,就不需要进行释放了。
3).使用图片缓存

通过使用内存缓存和硬盘缓存可以更好的使用bitmap。

2.代码优化

任何java类,都将占用大约500字节的空间。创建一个类的实例会消耗大约15字节的内存。从代码的实现方式上,也可以对内存进行优化,这里同样也总结了一些小的技巧。

  1,对常量使用static修饰

  2,使用静态方法,静态方法会比普通方法提高15%的访问速度。

3,减少不必要的成员变量,这点在Android lint工具上已经集成检测了,如果一个变量可以定义为局部变量,则会建议你不要定义为成员变量。

4,减少不必要的对象,使用基础类型会比使用对象更加节省资源,同时更应该避免频繁创建短作用域的变量。

5,尽量不要使用枚举,少用迭代器。

6,使用surfaceview来代替view进行大量,频繁的绘图操作。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值