android内存泄漏和内存溢出
内存溢出 out of memory是指程序在申请内存的时,系统没有足够的空间供其使用,导致内存溢出。
内存泄漏 memory leak 程序申请内存后,无法释放申请的内存空间,导致内存泄漏。少量的内存泄露是可以忽略 ,内存泄漏过多最终会导致内存溢出。
内存优化实例
一、Bitmap优化
bitmap是造成内存占用过高甚至是内存溢出(out of memory)最大威胁,下面是使用bitmap的小技巧。
1、使用适当分辨率和大小的图片
inSampleSize 缩放比例,把图片加载在内存之前,先计算出一个合适的缩放比例,避免不必要的大图片载入(inSampleSize =2,图片的高和宽都是原来的二分之一,图片就是原来的四分之一)
2、及时回收内存
使用完Bitmap及时回收,使用bitmap.recycle()方法释放内存资源。
3、使用图片缓存
通过使用内存缓存(LruCache)和硬盘缓存(DiskLruCache),使用Bitmap。