虚拟机 的堆内存区域不足 , 突然加载一张大图片 , 无法为 图片对象 在堆内存中分配内存空间 , 此时就会抛出 " Java heap space " 这个错误 ;
我加载的是一张 50M 左右的 地图图片..., 图片很大 ;
如果 在 程序中存在内存泄漏 , 一些大的数组 / 集合 / 数据对象 始终没有释放 , 会在运行的过程中 , 报该错误 ;
三、解决方案 - 针对内存不足问题
针对内存不足的问题..., 直接通过增加堆内存大小的方式解决 , 调整 Java 虚拟机 的 启动参数 增加堆内存的大小 ;
-Xms 参数 可以设置 Java 虚拟机 起始堆大小 ;
-Xmx 参数...jar包名称
四、解决方案 - 针对内存泄漏
如果 是由于 内存泄漏 导致的 在运行过程中 报出
Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError...: Java heap space
错误 , 就需要检查代码中 的 内存泄漏 点 , 找出 哪些对象未能及时释放 , 或者无效的对象保留太久导致的内存堆积 ;
使用 如下 内存分析工具 , 查找内存泄漏