内存溢出是指程序访问内存时,内存中没有足够的空间,出现内存不足的情况,例如请求一个整数,但里面可以存储一个长整型值;这就是内存溢出。
内存泄漏是指程序在请求内存后无法释放分配的内存空间。内存泄漏的危害可以忽略不计,但累积内存泄漏的后果却很严重。迟早会很忙。
记忆最终会导致失忆!
原因:
1。加载到内存的数据量太大,比如一次从数据库中取出太多数据;
2.集合类中有一个引用使用后没有清除,因此JVM无法回收它
3代码中存在死循环;或者循环生成过多的重复对象
4使用的第三方软件出错;
5启动参内存值设置太小
。解决方案:
1)在处理某些I/O线程的数据传输时,尝试在最后禁用I/O线程
2)在处理上传的照片时,使用位图工厂。选项。设置insameplesize()方法对图片进行压缩,以减少资源占用;将专门撰写有关图像压缩问题的主题;
3)您还可以通过减少照片中的像素数来减少内存占用
4)资源处理:e()bitmap=null;
5)尽量使用全局变量,避新建对象
上一篇:java内存泄露和内存溢出的区别
下一篇:内存溢出和内存侧漏的区别