对于任何手机来说,内存管理至关重要,不管是Android还是iphone,在程序中及时回收资源,可以防止内存的溢出.

例如:

for(int i = 0; i < list.size(); i++){Bitmap bitmap = loadImageFromUrl(list.get(i));ImageView imageView = new ImageView(this);imageView.setImageBitmap(bitmap);mImages[i] = imageView;}


这里对于Bitmap就没有很好回收和利用,因为是循环,所以Bitmap就可以放到外部,让程序重复利用,而不需要每次都创建一个新的Bitmap对象,而且如果在内部作好资源回收利用的话,那就不用担心内存溢出了.

改动后的程序:

Bitmap bitmap = nullfor(int i = 0; i < list.size(); i++){bitmap = loadImageFromUrl(list.get(i));ImageView imageView = new ImageView(this);imageView.setImageBitmap(bitmap);mImages[i] = imageView;//if(!bitmap.isRecycled() && bitmap != null){//bitmap.recycle();//bitmap = null;}}

只是做了小小的改动,但对于程序的内存来说,那可是很好的利用.

其实对于GridView或是Gallery,在创建SimpleAdapter的时候会有一个getView,里面有一参数是convertView,建议用convertView来建立View,因为这个convertView有缓冲和及时回收功能,不会出现OOM的情况,至于网络上很多人说的软引用或是硬引用之类的,我觉得效果不是很明显.

更多相关文章

  1. Android学习笔记_12_网络通信之从web获取资源数据到Android
  2. 13个对Android开发者有帮助的工具和资源
  3. android里在程序中修改listView里的内容
  4. Android 开机自启动示例程序
  5. 如何使用arm-eabi-gdb调试android c/c++程序
  6. android唤起另外一个程序
  7. Android 点击两次返回键退出程序
  8. Android中退出程序的提示框
  9. Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)

随机推荐

  1. Android中的APK,TASK,PROCESS,USERID之间
  2. Android(安卓)Bitmap 缩放 旋转 水印 裁
  3. nexus7 升级失败后手动刷系统
  4. Android 下使用 JSON 实现 HTTP 请求(自
  5. Android 中对JSON数据解析实例代码
  6. 相对布局的layout_alignLeft属性
  7. Android平台架构及特性
  8. 关于Android Studio中Run按钮是灰色的解
  9. 认识Android的UID(Unix user ID)与权限
  10. Android Recovery模式学习体会