提高Android通用图像加载器的性能
我正在开发与图像加载器相关的应用程序。我想加载大量图像。因此我使用了android通用图像加载器 问题是第一次加载花费了太多的时间。之后执行速度会很快 我想执行非常快的应用程序加载时间本身。任何人都有想法,请张贴 Imageloader类代码如下所示提高Android通用图像加载器的性能,android,Android,我正在开发与图像加载器相关的应用程序。我想加载大量图像。因此我使用了android通用图像加载器 问题是第一次加载花费了太多的时间。之后执行速度会很快 我想执行非常快的应用程序加载时间本身。任何人都有想法,请张贴 Imageloader类代码如下所示 package com.primus.exploretaukymodule; import java.util.ArrayList; import com.nostra13.universalimageloader.core.Displa
package com.primus.exploretaukymodule;
import java.util.ArrayList;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
public class Imageadapter extends BaseAdapter {
ArrayList<String> image_path;
Context mcontext;
LayoutInflater inflater;
ImageLoader load;
static ImageLoaderConfiguration config ;
static DisplayImageOptions imgDisplayOptions = new DisplayImageOptions.Builder()
//.showStubImage(R.drawable.stub_image)
.cacheInMemory()
.cacheOnDisc()
//.imageScaleType(ImageScaleType.EXACT)
.build();
static ImageLoader imageLoader = ImageLoader.getInstance();
public Imageadapter(Context c, ArrayList<String> imageUrls, ImageLoader loader, DisplayImageOptions options) {
// TODO Auto-generated constructor stub
image_path=new ArrayList<String>();
image_path=imageUrls;
mcontext=c;
inflater=(LayoutInflater) mcontext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
load=loader;
config = new ImageLoaderConfiguration.Builder(c)
.enableLogging()
.memoryCacheSize(41943040)
.discCacheSize(104857600)
.threadPoolSize(10)
.build();
imageLoader.init(config);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return image_path.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if (convertView == null) {
holder=new ViewHolder();
convertView= inflater.inflate(R.layout.explore_gridview_layout, parent, false);
holder.imageView=(ImageView) convertView.findViewById(R.id.taukytab_grid_image);
convertView.setTag(holder);
}
else {
holder=(ViewHolder) convertView.getTag();
}
holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageLoader.displayImage(image_path.get(position),holder.imageView, imgDisplayOptions);
return convertView;
}
class ViewHolder
{
ImageView imageView;
}
}
package com.primus.exploretaukymodule;
导入java.util.ArrayList;
导入com.nostra13.universalimageloader.core.DisplayImageOptions;
导入com.nostra13.universalimageloader.core.ImageLoader;
导入com.nostra13.universialimageloader.core.imageloader配置;
导入android.content.Context;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.BaseAdapter;
导入android.widget.ImageView;
公共类Imageadapter扩展了BaseAdapter{
阵列列表图像路径;
语境;
充气机;
图像装载机负载;
静态图像加载配置;
静态DisplayImageOptions IMGDisplaytions=新的DisplayImageOptions.Builder()
//.showStubImage(R.drawable.stub_图像)
.cacheInMemory()
.cacheOnDisc()
//.imageScaleType(imageScaleType.EXACT)
.build();
静态ImageLoader ImageLoader=ImageLoader.getInstance();
公共Imageadapter(上下文c、ArrayList ImageURL、ImageLoader加载程序、DisplayImageOptions选项){
//TODO自动生成的构造函数存根
image_path=new ArrayList();
图像路径=图像URL;
mcontext=c;
充气器=(LayoutInflater)mcontext.getSystemService(Context.LAYOUT\u充气器\u SERVICE);
装载机=装载机;
config=newImageLoaderConfiguration.Builder(c)
.enableLogging()
.memoryCacheSize(41943040)
.discCacheSize(104857600)
.线程池大小(10)
.build();
init(config);
}
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回图像_path.size();
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//TODO自动生成的方法存根
视窗座;
if(convertView==null){
holder=新的ViewHolder();
convertView=充气机。充气(R.layout.explore\u gridview\u layout,父项,false);
holder.imageView=(imageView)convertView.findViewById(R.id.taukytab\u grid\u image);
convertView.setTag(支架);
}
否则{
holder=(ViewHolder)convertView.getTag();
}
holder.imageView.setScaleType(imageView.ScaleType.CENTER\U裁剪);
imageLoader.displayImage(图像路径获取(位置)、holder.imageView、imgDisplayOptions);
返回视图;
}
类视图持有者
{
图像视图图像视图;
}
}
谢谢..这不是因为缓存吗?如果是这样,那么要更快地加载,您需要更快的Internet连接或将图像存储在资产中,并在从网络加载之前检查它们是否在那里。感谢重播。。是的,我的图像肯定是从web加载的。。我想知道我的代码是否有执行速度快的更新???