dalvikvm-heap: 2777088-byte external allocation too large for this process
dalvikvm:      out of memory:heap size=5123kb,allocated=2497kb,bitmap size=9931kb
               bm won't let us allocate 2777088 bytes
什么错误?
怎么解决|?

解决方案 »

  1.   

     跟踪下这两个看看 你内存使用的太多了 
     Runtime.getRuntime().maxMemory() ; 进程可用总的内存大小
     Runtime.getRuntime().totalMemory() ; 进程已用的内存大小
     totalMemory超过maxMemory时就会包报out of memory错误。 
      

  2.   

    可以设堆内存大小
    private final static int HEAP_SIZE = 10* 1024* 1024 ;    
    VMRuntime.getRuntime().setMinimumHeapSize(HEAP_SIZE); //设置最小heap内存为10MB大小或用BitmapFactory.Options优化bitmap 
      

  3.   

    可以在system.prop文件修改vmheapmax最大值,默认好像是24MB
      

  4.   

    这个文件你要修改的话有两种方式,一是通过adb连接设备来修改(先获得超级用户权限);另一种是你有一份源代码(推荐方式),可以直接改这个文件。
    另外,内存申请用完了之后一定要记得释放。