ImageLoader加载图片

来源:互联网 发布:linux jvm内存设置 编辑:程序博客网 时间:2024/06/16 16:26

ImageLoader加载ListView GridView ViewPager

这里写图片描述

public class MainActivity extends Activity implements OnClickListener              {        //所有图片        private String[] img=Images.imageThumbUrls;        @Override        protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 找到控件        findViewById(R.id.lv).setOnClickListener(this);        findViewById(R.id.gv).setOnClickListener(this);        findViewById(R.id.vp).setOnClickListener(this);    }        // onclick方法        @Override        public void onClick(View arg0) {        switch (arg0.getId()) {        case R.id.lv:        Intent intent1 = new Intent(MainActivity.this, SecondActivity.class);        intent1.putExtra("img", img);        startActivity(intent1);        break;        case R.id.gv:        Intent intent2 = new Intent(MainActivity.this, ThirdActivity.class);        intent2.putExtra("img", img);        startActivity(intent2);        break;        case R.id.vp:        Intent intent3 = new Intent(MainActivity.this, FourthActivity.class);        intent3.putExtra("img", img);        startActivity(intent3);        break;                  }            }        }

ListView展示图片加载
这里写图片描述

public class SecondActivity extends Activity {    private ImageLoader loader;    private ListView lv;    private MyAdapter adapter;    private String[] arrays;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);       setContentView(R.layout.activity_second);    // 接受Main传过来的值    Intent intent = getIntent();    arrays = intent.getStringArrayExtra("img");    // 找到控件    lv = (ListView) findViewById(R.id.lv);    adapter=new MyAdapter();    lv.setAdapter(adapter);    }    // 内部类  class MyAdapter extends BaseAdapter {        @Override        public int getCount() {        return arrays.length;    }        @Override        public Object getItem(int position) {        return null;    }        @Override        public long getItemId(int position)         return 0;    }    @Override  public View getView(int position, View convertView, ViewGroup parent) {         Donghai dh;    if (convertView == null) {         convertView = View.inflate(SecondActivity.this,R.layout.second_list, null)                  dh = new Donghai();         dh.img = (ImageView) convertView.findViewById(R.id.img_s);    convertView.setTag(dh);   } else {         dh = (Donghai) convertView.getTag();    }         loader = ImageUtils.Image(SecondActivity.this);         loader.displayImage(arrays[position], dh.img);         return convertView;        }    }               // 优化        class Donghai {     ImageView img;    }

}

GridView 加载图片
这里写图片描述

public class ThirdActivity extends Activity {        private ImageLoader loader;        private GridView gv;        private String[] arrays;        private MyAdapter adapter;        @Override   protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_third);        //找到控件        gv=(GridView)findViewById(R.id.gv);        //接受main传国来的值        Intent intent=getIntent();        arrays = intent.getStringArrayExtra("img");        adapter=new MyAdapter();        gv.setAdapter(adapter);    }    //内部类  class MyAdapter extends BaseAdapter{        @Override        public int getCount() {        return arrays.length;    }        @Override        public Object getItem(int position) {        return null;    }        @Override        public long getItemId(int position) {        return 0;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        Donghai dh;        if(convertView==null){        convertView=View.inflate(ThirdActivity.this, R.layout.second_list, null);        dh=new Donghai();        dh.img=(ImageView) convertView.findViewById(R.id.img_s);        convertView.setTag(dh);        }else{        dh=(Donghai)convertView.getTag();        }        loader=ImageUtils.Image(ThirdActivity.this);        loader.displayImage(arrays[position], dh.img);        return convertView;        }            }            //优化代码            class Donghai{            ImageView img;            }        }

ViewPager加载图片
这里写图片描述

public class FourthActivity extends Activity {    @Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_fourth);    // 找到控件    pager = (ViewPager) findViewById(R.id.viewpager);    // 接受main界面传来的值    Intent intent = getIntent();    arrays = intent.getStringArrayExtra("img");    list = new ArrayList<View>();    for (int i = 0; i < arrays.length; i++) {    View view = View.inflate(FourthActivity.this, R.layout.second_list,    null);    img = (ImageView) view.findViewById(R.id.img_s);    loader = ImageUtils.Image(this);    loader.displayImage(arrays[i], img);    list.add(view);    }    adapter = new MyAdapter();    pager.setAdapter(adapter);}    // 内部类class MyAdapter extends PagerAdapter {        @Override        public int getCount() {        return list.size();    }        @Overridepublic boolean isViewFromObject(View arg0, Object arg1) {        return arg0 == arg1;    }        @Overridepublic void destroyItem(ViewGroup container, int position, Object object) {       container.removeView(list.get(position));    }        @Overridepublic Object instantiateItem(ViewGroup container, int position) {       View view = list.get(position);       container.addView(view);        return view;    } }}

工具包

public class ImageUtils {public static ImageLoader Image(Context context) {    // 图片缓存配置    ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(    context);    builder.memoryCacheExtraOptions(480, 800);// 图片的宽高    builder.threadPriority(3);// 线程池数量    builder.threadPriority(Thread.NORM_PRIORITY + 1);// 线程优先级    builder.memoryCache(new UsingFreqLimitedMemoryCache(2 * 1024 * 1024));// 设定缓存大小时,内存缓存的清除机制    // 超过设定缓存大小时,磁盘缓存的清除机制    File file = new File("/mnt/sdcard/cache/");    builder.diskCache(new UnlimitedDiskCache(file));    // 磁盘缓存的文件名的命名方式,一般用默认值    builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());    builder.memoryCacheSize(100);// 最大缓存大小,默认值应用程序可用内存的1/8    builder.writeDebugLogs();// 开启ImageLoader工作日志    DisplayImageOptions.Builder options = new DisplayImageOptions.Builder();    // 设置图片在下载期间显示的图片    options.showImageOnLoading(R.drawable.ic_launcher);    // 设置图片uri为空或者错误的时候显示的图片    options.showImageForEmptyUri(R.drawable.ic_launcher);    // 设置图品路径加载/解码过程中失败显示的图品    options.showImageOnFail(R.drawable.ss);    options.cacheInMemory(true);// 设置下载的图品缓存在内存中    options.cacheOnDisc(true);// 设置下载图品缓存在sd卡中    options.considerExifParams(true);// 是否考虑图片选装,反转    options.considerExifParams(true);// 图片如何的编码显示    // 设置图片解码的类型/默认是ARGB_8888,使用RGB_565会比使用ARGB_8888少消耗2倍的内存    options.imageScaleType(ImageScaleType.IN_SAMPLE_INT);    options.bitmapConfig(Bitmap.Config.RGB_565);    // 为你设置的下载前的延迟时间    options.delayBeforeLoading(0);    // 设置图片在下载前是否重置、复位    options.resetViewBeforeLoading(true);    // 是否设置为圆角,弧度为多少    options.displayer(new RoundedBitmapDisplayer(20));    // 图片加载后的渐入的动画时间,可能会出现闪动,duration时间    // options.displayer(new FadeInBitmapDisplayer(100));    // 构建完成    DisplayImageOptions dio = options.build();    builder.defaultDisplayImageOptions(dio);    // 图片处理器,负责从磁盘缓存读取或写入前对图片进行处理    builder.diskCacheExtraOptions(480, 800, null);    // 获取ImagLoaderConfiguration对象    ImageLoaderConfiguration ic = builder.build();    // 创建ImagLoader实例    ImageLoader loader = ImageLoader.getInstance();    loader.init(ic);    return loader;    }}

图片

public class Images {public final static String[] imageThumbUrls = new String[] {"http://img.gtimg.c-ps.net/info/Big/2012/8/29/2012829112897583470.jpg",        "https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1466558302&di=051f18503ff9ea65d34e4269481b3133&src=http://pic.58pic.com/58pic/15/47/76/85z58PICG7W_1024.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383299_1976.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383291_6518.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383291_8239.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383290_9329.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383290_1042.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383275_3977.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383265_8550.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383264_3954.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383264_4787.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383264_8243.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383248_3693.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383243_5120.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383242_3127.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383242_9576.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383242_1721.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383219_5806.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383214_7794.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383213_4418.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383213_3557.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383210_8779.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383172_4577.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383166_3407.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383166_2224.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383166_7301.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383165_7197.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383150_8410.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383131_3736.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383130_5094.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383130_7393.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383129_8813.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383100_3554.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383093_7894.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383092_2432.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383092_3071.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383091_3119.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383059_6589.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383059_8814.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383059_2237.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383058_4330.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406383038_3602.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382942_3079.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382942_8125.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382942_4881.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382941_4559.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382941_3845.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382924_8955.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382923_2141.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382923_8437.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382922_6166.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382922_4843.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382905_5804.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382904_3362.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382904_2312.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382904_4960.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382900_2418.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382881_4490.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382881_5935.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382880_3865.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382880_4662.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382879_2553.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382862_5375.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382862_1748.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382861_7618.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382861_8606.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382861_8949.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382841_9821.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382840_6603.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382840_2405.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382840_6354.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382839_5779.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382810_7578.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382810_2436.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382809_3883.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382809_6269.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382808_4179.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382790_8326.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382789_7174.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382789_5170.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382789_4118.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382788_9532.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382767_3184.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382767_4772.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382766_4924.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382766_5762.jpg",        "http://img.my.csdn.net/uploads/201407/26/1406382765_7341.jpg"         };}
原创粉丝点击