2013-06-12 23 views
1

我正在开发图像加载器相关的应用程序。我想加载大量的图像。所以我使用安卓通用图像加载程序 问题是第一次加载需要太多时间。执行快速..提高Android通用图像加载器的性能

我想非常快执行的应用程序加载时间itself.Any一个有想法,请帖子..

ImageLoader的类代码看起来象

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; 
    } 

} 

谢谢..

回答

0

是不是因为缓存?如果是这样,然后加载速度更快,您需要更快的Internet连接或将资源存储在资产中,并在从网络加载它们之前检查它们是否在那里。

+0

感谢您的重播..绝对是我的图片从网络加载..我想知道我的代码的任何更新执行快或不? – Raj

相关问题