1,使用BitmapFactory.decodeFile(filename,options);一定要使用options
2,使用options中得inSampleSize缩放,设置inPurgeable为true(具体的解释google)。经过这样的处理之后,可以避免oom错误
3,无论怎样,在一个项目中,oom给用户带来了很差的体验,所以,最终,oom错误是需要捕获的,但是,记着OOM一个Error:OutOfMemoryError,所以别catch成Exception啦
4,以上的操作都是操作图片的额基础的操作,一般图片来源于网络,而且经常出现在listView这些数据量大的控件中,具体如何做好多线程下载,图片的引用和释放,网上又很多例子,BitmapFun也是一个很好的解决方案,源码也比较简洁,可以作为参考,图片异步高效加载的工具有很多,主要是选择一个合适的,也可以自己实现一个(universal-image-loader之类,可以去github上看看)。
5,最终要实现一个图片量大的,运行流畅的应用,还需要服务端做相应的配合,一般的android客户端应用的处理能力和空间都是有限的。