批量加载大图时,在不缓存到sd卡的前提下,如何避免oom并且不影响图片浏览

问题描述

批量加载大图时,在不缓存到sd卡的前提下,如何避免oom并且不影响图片浏览

我在一个界面中,需要加载很多大图片,而且还需要在该界面发送最多5张大图片(每张图片被我压缩到最大size为200k)。之前加载图片用的是imageloader,但是imageloader没有提供让我可以自按照定义比例缩放图片的方法,因此,又重新使用Picasso来做,Picasso提供过来resize(width,height)的方法。那么问题来了:1、我使用imageloader或者使用Picasso的时候,imageloader提供了cacheInMemory(false)的方法,Picasso是自动缓存到内存和sd卡。我在加载大量图片的过程中,如果设置自动缓存到内存的话,结果在我发送照片的时候很快就会报oom了。
2、我如果将自动缓存到内存取消掉,那么listview在上下滑动的时候,有些图片直接加载失败,而且之前加载过的图片仍然需要重新再加载一次,造成体验效果非常不好。所以,我想请教唐老师,我如果既要保证浏览图片和发送图片的时候不会发生oom,而且又不影响体验效果,那么我应该怎样做才能达到这样的效果?

时间: 2024-08-03 17:01:43

批量加载大图时,在不缓存到sd卡的前提下,如何避免oom并且不影响图片浏览的相关文章

加载配置文件时出错: 由于访问被拒绝,未能开始监视对“D:\demo\批量编辑\web.config”的更改。

问题描述 新装的VS2005,在IIS上浏览页面时,提示找不到该页检查了一下,在IIS,的WEB服务扩展里发现竟然没得.NET2.0然后重新安装了FreamWork2.0然后在IIS上浏览页面时就提示 "加载配置文件时出错:由于访问被拒绝,未能开始监视对"D:demo批量编辑web.config"的更改."是怎么回事呢??? 解决方案 解决方案二:VS2005工具命令行ASPNET_REGIIS-I]解决方案三:IIS-->站点-->属性-->AS

Android 加载大图、多图和LruCache缓存详细介绍_Android

我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状.不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多.大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常.我们可以通过下面的代码看出每个应用程序最高可用内存是多少 int maxMemory = (int) (Runtime.ge

Android高效加载大图、多图解决方案 有效避免程序OOM_Android

本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/training/displaying-bitmaps/index.html 高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状.不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨

Oracle Connector批量加载操作的优化及拒绝链接的考虑因素

在本系列的第 1 部分中,我们简要概述了 IBM Information Server 产品套件中的 IBM InfoSphere DataStage 产品,解释了 Oracle Connector 阶段在 DataStage 作业中的作用.我们解释了阶段的指挥者进程 (conductor process) 与执行者进程 (player process) 之间的区别.我们介绍了并行性和分区的概念,解释了它们在 DataStage 环境和 Oracle 数据库环境中的含义的差异.我们详细介绍了为了

Android 加载大图及多图避免程序出现OOM(OutOfMemory)异常

Android 加载大图及多图避免程序出现OOM(OutOfMemory)异常 1.高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状.不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多.大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常.我们可以通过下面的代码看

加载图片顺序-如何让加载网页时,头部和尾部的背景图片先显示?

问题描述 如何让加载网页时,头部和尾部的背景图片先显示? 如:www.willshop.cn首次访问,也就是没有缓存的情况下, 网站的公用头部,导航和尾部,在显示的背景图片时,必须是整个页面的加载完毕才会显示出来,用户体验效果极为不好.如何处理这种情况,从而使得,加载网页时,头部和尾部的图片先显示?谢谢. 解决方案 使用iframe中间部分另外载入,不影响两个图片,但是对于seo有一定影响. 换句话说就可以用js动态加载中间内容,不过有点复杂. 解决方案二: 将你的script加载的文件全部放到

Flash中加载影片时,Loading的位置对影片的影响

loading|加载 在论坛经常看到Loading加载方式的探讨,不过大多都是讨论用何种加载方法及代码,今天我想对Flash中加载影片时,Loading的位置对影片的影响.Flash Loading有多种制作及加载方式,本文研究的重点是讨论主影片中加载外部swf文件时Loading的位置对影片的影响.也就是将Loading写在主影片内部还是被加载影片中.     首先从缓存进行考虑,由于浏览器可以缓存Flash文件,因此Loading放在主影片内部,或者被加载影片中都没有影响,浏览器第一次会自动

Android高效加载大图、多图解决方案,有效避免程序OOM

本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/training/displaying-bitmaps/index.html 高效加载大图片 我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状.不同的大小,但 在大多数情况下,这些图片都会大于我们程序所需要的大小.比如说系统图片库里展示的图片大都是用手机 摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的

加载列表时jquery获取ul中第一个li的属性_jquery

当加载列表时,默认希望选中第一条.top_menu 为ul的ID 通过 $("#top_menu li:first") 就可以获取到 ul下第一个li标签.然后就可以利用 例如 修改属性:$("#top_menu li:first").attr("class","select"); 触发事件:$("#top_menu li:first").click(); 如果想获取li下的 a标签,如下: $("