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" };}
阅读全文
0 0
- ImageLoader 加载本地图片
- ImageLoader加载圆形图片
- Android 图片加载ImageLoader
- imageloader加载网络图片
- ImageLoader加载图片配置
- imageloader加载本地图片
- ImageLoader加载圆形图片
- 图片的加载ImageLoader
- 图片加载类ImageLoader
- universal-ImageLoader加载图片
- Android图片加载ImageLoader
- ImageLoader加载圆形图片
- ImageLoader加载图片
- ImageLoader加载图片
- imageLoader加载本地图片
- 图片异步加载ImageLoader
- ImageLoader 加载图片错乱
- Android ImageLoader加载图片
- /dev/console,/dev/null,/dev/tty
- iSCSI remote block-level storage
- 探求ETL本质
- 各类存储器简介
- CSC 编译C#代码文件
- ImageLoader加载图片
- React-native是什么?
- VC环境OpenSSL安装以及编程过程
- 解决wireshark 抓包分析 openssl s_server及s_client通讯不能解析TLSv1.2协议内容
- React 4 props & state
- 人机猜拳
- 产品用户体验的层次
- 学习LORA天线匹配
- (字典树)统计难题--HDOJ