安卓listview加载网络图片时,当时用了软引用之后,是不是就不用在使用二级缓存机制了

问题描述

安卓listview加载网络图片时,当时用了软引用之后,是不是就不用在使用二级缓存机制了

软引用不就是避免OOM的吗,和二级缓存机制的作用是一样的吧,可能二级缓存会更打程度的减少访问网络的次数吧,,但是如果在一个listview加载网络图片的项目中,是不是这二者选择一个用就行了?

解决方案

首先,ListView加载图片,使用什么软引用什么的,其实都是避免oom,那么你可以做到一下几点

1.使用缓存,至于你说的两种,任意一种都是可以的,起码起到了作用

2.当ListView去网络读取图片的,异步操作的时候,你也需要做处理,当你用户滑动已经超过屏幕,就是没有在屏幕内显示的时候,你应该取消掉去
异步下载图片,完全没有必要再去执行了

3.缓存一般分三级,都是很清楚的,无非就是:内存-文件-网络,当然你也可以添加一些策略,比如:图片给的大小只能是整个app分布空间的1/8
左右就好了,在添加策略,比如:根据使用的策略,时间策略等等。这方面ImageLoader,Glide做的比较好,你可以去看看源码。

解决方案二:

你这里的第二级是内存还是文件??

时间: 2024-12-03 07:43:56

安卓listview加载网络图片时,当时用了软引用之后,是不是就不用在使用二级缓存机制了的相关文章

scollview内嵌套listview加载图片时显示在了listview上。

问题描述 scollview内嵌套listview加载图片时显示在了listview上. 我的scollview里面有imageview.和listview,listview加载图片完成 之后只显示listview,而imageview被翻到了上面,需要手动滑下来才看得见. 请教各位大神帮我解决下. 解决方案 加载完后,延时滚动到顶部. scrollView.postDelayed(new Runnable() { @Override public void run() { scrollView

listview-安卓ListView加载大量网络数据时卡

问题描述 安卓ListView加载大量网络数据时卡 最近小弟在做一个导购类项目,用到ListView控件,要在ListView中加载大量图片和文字,现在的问题是,ListView中的Button在点击时要改变Button上的文字,此时要等待好长时间(大概2-3秒),才能将改变后的文字显示出来.Log显示,每次点击,getView方法都要调用4次,而且每次点击都要从第一条到点击的条数依次寻找position.由于数据量大,条数多,因此条数越往后,等待的时间越长,不知道各位大神有什么好的解决方案,本

listview中嵌套gridview加载网络图片

问题描述 listview中嵌套gridview加载网络图片 我自己定义了一个ImageAdapter .public class ImageAdapter extends BaseAdapter {...(省略)@Overridepublic View getView(int position View convertView ViewGroup parent) {final ImageView imageView;if (convertView == null) {convertView =

Afianl框架里面的FinalBitmap加载网络图片_Android

Afinal里面FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题. 1.测试请求 使用网页打开http://avatar.csdn.net/C/6/8/1_bz419927089.jpg"可以看到一张图片. 2.新建FinalBitmap对象 FinalBitmap bitmap = FinalBitmap.create(this); 3.设置图片的uri地址 String uri = "yun_qi_img/1_bz419927089.jpg&quo

手机-Imageloader加载网络图片

问题描述 Imageloader加载网络图片 我用Imageloader加载网络图片时,有的手机是能正常显示的,但有些就显示不了,这和手机的型号有关吗? 解决方案 http://blog.sina.com.cn/s/blog_9ac333de0101gptn.html

解决ListView异步加载网络图片的各种问题(一)

MainActivity如下: package com.example.testlistview; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.ListView; //解决的问题: //1 ListView异步加载网络图片 //2 ListView滑动时,图片错位 public c

解决ListView异步加载网络图片的各种问题(二)

MainActivity如下: package lee.listviewimage; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import lee.listviewimage.R; import android.app.Activity; import android.os.Bundle; import android.view.View;

C#中listview加载的图片,批量删除时出现异常“文件被另一个程序使用”,具体代码如下

问题描述 C#中listview加载的图片,批量删除时出现异常"文件被另一个程序使用",具体代码如下 自动加载图片: private void FrmPicListView_Load(object sender EventArgs e) { listView1.View = View.LargeIcon; listView1.MultiSelect = true; string[] files = GetImages(); if (files != null) { ImageList

加载图片错位-Listview 嵌套gridview,gridview使用UIL加载网络图片,错位

问题描述 Listview 嵌套gridview,gridview使用UIL加载网络图片,错位 listview,嵌套了gridview,其中gridview数据,是使用UIL加载的网络图片,类似微信朋友圈那种,然后发现图片错位.知道的请帮帮忙吧.. 解决方案 getView如下 @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if(conve