下载图片时 Out Of Memory问题

 

遇到下载图片时 Out Of Memory问题

 

描述:我的程序要求点击下载图片。在下载图片或者程序其他地方加载图片资源时,会出现 out of memory问题。

而且不固定是哪里。一般是我点击下载三张图(每张图120K左右的JPG),然后再下,再下, ... 三张图时会出现问题。

里面的类似代码如下:

...

this.bitmap = BitmapFactory.decodeStream(inputStream);

...

bitmap.recycle();

...

inputStream.close();

...

 

我的理解:

正常来说,BitmapFactory.decodeStream 这种方法比BitmapFactory.decodeResource 方法要靠谱一些。

堆栈溢出,也就是jpg解压成bitmap后占用内存过大,应该是能手动删除的地方要手动删除,不指着java自己进行回收。

 

解决办法:

有病乱投医。

  1.图片进行了压缩处理。

       BitmapFactory.Options options = new BitmapFactory.Options();
       options.inSampleSize = 2;//图片宽高都为原来的二分之一
       this.bitmap = BitmapFactory.decodeStream(inputStream, null, options);

   2.所有的用到bitmap的地方都手动去 recycle().

   3..所有用到inputStream的地方都close();

 

结果就OK了。

 

到现在我还不求甚解,希望懂的朋友帮忙说一下,不胜感激。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当使用stable-diffusion生成图片,出现CUDA out of memory错误通常是由于GPU内存不足导致的。这个错误提示表明尝试分配1.50 GiB的内存,但GPU的总容量为8.00 GiB,已经分配了5.62 GiB,剩余109.75 MiB可用。为了解决这个问题,你可以尝试以下几种方法: 1. 减少生成样本的数量:通过添加参数--n_samples 1来减少生成样本的数量,默认值为3。\[1\] 2. 使用半精度(fp16):使用半精度可以减少模型所需的GPU内存,同几乎不会影响生成结果的质量。你可以尝试在代码中添加torch_dtype=torch.float16, revision="fp16"来使用半精度。同,确保你已经登录了huggingface-cli并从diffusers库导入了StableDiffusionPipeline。\[3\] 3. 使用stable-diffusion-webui:如果可能的话,你可以尝试使用stable-diffusion-webui来生成图片,这可能会更有效地管理内存。\[3\] 希望这些方法能够帮助你解决CUDA out of memory错误。如果问题仍然存在,请参考引用\[2\]中提供的链接,其中提供了更多关于处理CUDA内存不足错误的方法。 #### 引用[.reference_title] - *1* *3* [AI绘画——使用stable-diffusion生成图片提示RuntimeError: CUDA out of memory处理方法](https://blog.csdn.net/PromiseTo/article/details/127240779)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Stable Diffusion v1.5 Out of Memory 解决](https://blog.csdn.net/baozheng/article/details/130470638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值