这是个问题啊,会提示VM不会分配这么大的内存。网上有一些解决方案,但是感觉不是很合理。我也越到了图片内存的问题。不过,我是自定义VIew。

解决方案 »

  1.   

    http://blog.csdn.net/jefferyyangkai/article/details/7016829
      

  2.   

    图片很吃内存的
    List模式时尽量用低分辨率的图片
    detail(单张)模式时先用低分辨加载,再慢慢加载高清的
      

  3.   

    我的问题昨天下午解决了,你使用控件来显示,我不太清楚怎么回收。我的是几个游戏界面相互切换,而且图片也非常多,最后就是重新定义一个回收函数,在加载另外一个View的时候,循环释放之前View的Bitmap,效果不错,没有遇到这个OOM了。
      

  4.   

    你是自定义一个AdapterView吗?
      

  5.   

    现在问题是LinearLayout不会重用界面,ImageView不能重用,所以对应的图片也没法释放
      

  6.   

    如果数据比较多,果断用listview啊,adapter只会加载当前在界面上显示的数据,当你要显示非常多数据的时候,你会发现用listview的性能比scrollview要强多了
      

  7.   

    问题是现在要做瀑布流啊,listview满足不了这样的需求
      

  8.   

    其实还是得有ListView的方式才能满足无限量图片你可以用多个ListView的方式并排实现,每个ListView自定义getView,可以使listView的每条记录高度不受固定限制,例如通过获取图片的尺寸高度来设置listview的高度。
      

  9.   

    那拖动的时候,两边listview怎么同步呢
      

  10.   


    每个ListView都setOnScrollListener、setOnTouchListener,同步滚动。
      

  11.   

    你可以反编译下美丽说的apk看看,他们用的基本都是自定义的View。  为了节省内存,他们会在每次滚动后判断该图片是否还在屏幕内,不在就释放掉。
      

  12.   

    是啊,自定义的veiw,兄台有没有办法
      

  13.   

    解决这个问题,主要有三个方面,1软引用 2后台读取图片(如果图片是从网上读取的话) 3缓存图片到SD卡部分代码如下(我的是ExpandableListView):
    SoftReference<Bitmap> bitmap = null;//软 引用
    if(iconName != null && !iconName.equals("")) {
    childViewHolder.gameIconImage.setTag(iconName);
    bitmap = new SoftReference<Bitmap>(bitmaputil.getFileImage(EVENTICONPREURLPATH + iconName));//bitmaputil.getFileImage为从sd卡上取图片  if (null == bitmap || null == bitmap.get()) {
    AsyncImageLoader asyncImageLoader = new AsyncImageLoader(
    context, childViewHolder.gameIconImage);
    asyncImageLoader.execute(EVENTICONPREURLPATH + iconName);//如果sd卡上不存在该图片 启动后台进程从网上读取图片 同时缓存的sd卡上
    } else {
    childViewHolder.gameIconImage.setImageBitmap(bitmap.get());
    }

      

  14.   

    软引用的前提是没有view用这些图片数据,view是可以重用的
      

  15.   

    android图片缓存 (1).使用简单 (2).轻松获取及预取新图片 (3).可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法 (4).省流量性能佳(有且仅有一个线程获取图片) (5).支持不同类型网络处理 (6).可根据系统配置初始化缓存 (7).扩展性强 (8).支持队列 (9).包含map的大多数接口。 可见:http://www.trinea.cn/?p=704
      

  16.   

    可以看看这个例子 http://pan.baidu.com/s/1dD5sxTf