记一次遇见的问题:

起因:Web应用在后台需要展示许多图片,于是页面出现卡顿甚至失去连接。一次性需要加载出60多张1.6M图片。

查看的文章:

1、前端|加载的图片太多或者太大怎么办(上)

2、java大图片内存溢出问题解决办法

3、java使用google开源工具实现图片压缩

4、使用Thumbnails实现图片指定大小压缩

5、Intellij IDEA 的Tomcat Server 配置VM options参数说明

了解:图片上传,硬盘的存放空间不值钱,但是网速太值钱了,用户加载半天,就是图片太大导致的,因为用户的网络环境不可控,

所以只能考虑压缩图片从而保证网站打开的速度。并且我在网页上图片需要能够排序,懒加载肯定不行,后端进行压缩。

压缩我选择了使用Thumbnails实现,

具体可以看各位大神写的。

但是上传图片的过程是使用  MultipartFile 上传(详见3,4),使用其transferTo方法存放在临时文件夹temp中,并且以当前时间戳命名,

所以我小小改动了一下,

if(isImg){String tempPath = tempFile.getAbsolutePath();String tempPath2 = tempPath+"."+ext;File tempFile2 = new File(tempPath2);tempFile.renameTo(tempFile2);commpressPicForScale(tempPath2,tempPath2,300,0.8);tempFile2.renameTo(tempFile);
}

使用Thumbnails压缩的时候没有后缀的话会报错。

本地运行,发现IDEA总报一个错误,错误是内存溢出,按照大神的步骤加了一下,还是溢出(详见5)

其实就是用idea,你使用的是tomcat启动还是springboot启动,如果spring boot启动,在如下改动

就可以了。

记一次图片压缩内存溢出的问题相关推荐

  1. 转:记一次linux oom内存溢出排查过程

    @转:记一次linux oom内存溢出排查过程 记一次linux oom内存溢出排查过程 2018年08月16日 14:13:49 enchanterblue 阅读数 4099更多 分类专栏: --- ...

  2. [转]Android有效解决加载大图片时内存溢出的问题

    http://hi.baidu.com/%D6%C7%B4%EF%B8%DF%D4%B6lee/blog/item/7bd659af3f40dc1d4b36d68d.html 尽量不要使用setIma ...

  3. 图片--Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  4. Android加载图片导致内存溢出(Out of Memory异常)

    Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory  Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...

  5. 加载大图片,内存溢出问题

    尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图, 因为这些函数在完成decode后,最终都是通过ja ...

  6. 记一次,jvm 内存溢出

    1.什么是内存泄漏 内存泄漏是指,有未被释放的java对象,一直停留在内存中.GCRoot 无法追踪到此对象,导致此对象无法被回收. 2.什么是内存溢出 内存溢出是指,java程序创建对象需要内存,但 ...

  7. android 动画 图片 内存溢出,Android有效解决加载大图片时内存溢出的问题

    尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图, 因为这些函数在完成decode后,最终都是通过ja ...

  8. 记一次linux oom内存溢出排查过程

    一,背景 收到应用服务报警,然后登录上服务器查看原因,发现进程不再了. 二,问题分析 1,那么判断进程被干掉的原因如下: (1),机器重启了 通过uptime看机器并未重启 (2),程序有bug自动退 ...

  9. android dng图片,android - 使用Camera2 API拍摄dng图片 - 堆栈内存溢出

    我正在创建一个应用程序,该应用程序以.dng格式拍摄图片以对其进行处理. 我正在使用camera2 API. 我可以拍照并将其保存到手机中,但格式为.jpg. 但是,当我更改代码以使用.dng扩展名保 ...

最新文章

  1. 查看 Laravel 的 SQL 语句的方法
  2. “AI工厂”本质:AI基础设施及怎样将AI转化为运营动力
  3. LinuxC下获取UDP包中的路由目的IP地址和头标识目的地址
  4. c++中利用sizeof运算符计算结构体大小问题探讨
  5. 设置一段文字显示不同的颜色及大小等属性
  6. 二等水准数据平差_二等水准复测平差成果表
  7. (147)FPGA面试题-Verilog移位相加实现乘法(二)
  8. 微服务分布式学到这种程度,稳了!
  9. js正则看这篇就够了
  10. ios13看怎么airpods电量_你的iPhone升级iOS13了吗?iOS13升级前,必知的七大新功能...
  11. Material Theme
  12. 赫尔期权、期货及其他衍生产品第9版课后答案
  13. 河北计算机四六级报名入口,英语四六级考试报名入口
  14. 【转载】弧长法(Riks Method)的基本原理
  15. 2022最新可用免费天气预报API接口
  16. 使用SHP数据批量裁剪TIF图像并转为JPG格式
  17. Redis 高可用原理及部署方法
  18. C语言库函数access的使用
  19. SwfObjects在页面中嵌入flash(SWF)
  20. tcpdump如何避免dropped by kernel

热门文章

  1. 排他思想 -- 百度换肤效果案例 以及 点击某按钮只是该按钮变色
  2. Spring Container Extension
  3. PLC的顺控继电器(SCR编程)总结
  4. module.exports 和 exports的区别
  5. 04-JavaScript的操作
  6. 17:57:54.359 [main] WARN com.baomidou.mybatisplus.generator.IDatabaseQuery$D
  7. java 错误:The public type *** must be defined in its own file***
  8. 你拒绝的,也许是改变你最佳的机会
  9. 英剧《反击》中有意思的镜头
  10. x264-几种码控模式