错误提示:12996-byte external allocation too large for this process
为啥这么小才十几K就出太大了呢
我开发游戏的welcomeView.java(SurfaceView)里加载了几张图片
在OnDestory里我已经全部都(全部)
if (!play.isRecycled())
play.recycle();了
然后跳转到gameView里再加载图片(initBmp();)的时候就提示了这个错误
请问大牛们,该怎么解决

解决方案 »

  1.   

    另外还有几张我觉得大了点(几百K)我就这样加载的
    在draw()里
    myBmp= BitmapFactory.decodeResource(getResources(), R.drawable.vs3);
    canvas.drawBitmap(myBmp, 0, 0, mPaint);
    if (!myBmp.isRecycled())
    myBmp.recycle();
    //不知这样是不是一种正确的施放方式
      

  2.   

    Bitmap的释放不够完整吧。虽然图片容易溢出但是几百K问题不大。
    http://www.devdiv.com/article-2090-1.html
      

  3.   

    你的这是Gallery优化方法,解决不了我的问题,为啥说释放不够完整呢,此话怎讲,我的释放方法也贴出来了啊。我的图片可用内存好像很低,不说8M吗,我全部的图片才4M,我看也就同时能加不到2M我看,为什么会这样呢
      

  4.   

    每个应用都有其自己的虚拟及dalvik,可能是虚拟机的内存不足,把把设大一点
      

  5.   

    Android堆内存也可自己定义大小,使用Dalvik提供的 dalvik.system.VMRuntime类来设置最小堆内存为例:private final static int CWJ_HEAP_SIZE = 6* 1024* 1024 ;
    VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); 或者参看这篇总结:
    http://yueguc.iteye.com/blog/1051966
      

  6.   

        因为大部分图片格式(jpeg,png)都对图片进行了压缩处理,BitmapFactory从文件中读取图片的时候,需要对图片进行解压缩。BitmapFactory在解压缩的过程中,需要占用额外的内存,还有,就是几百K的图片问价展开到内存中成为bitmap以后,达到1M以上也是有可能的。