`
busuanzi
  • 浏览: 143881 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Android 异步加载 listview里的图片

阅读更多
如果listview里有图片,需要进行延迟加载,不然用户体验会非常差,卡在哪里不动。


解决办法:
在listview  adapter的 设置  imgvidw的 方法里  写成如下, 最主要用到的是 AsyncTask
写一个 下载图片的内部类,getUrlimg是自己写的,根据自己的需求,该方法返回的是根据URL返回的  bitmap

private class ImageDownloadTask extends AsyncTask<Object, Object, Bitmap>{  
        private ImageView imageView = null;  
        @Override  
        protected Bitmap doInBackground(Object... params) {  
            // TODO Auto-generated method stub  
            Bitmap bmp = null;  
            Log.d("tips","asdfasdfasdf" );
            imageView = (ImageView) params[1];  
            try {  
//                bmp = BitmapFactory.decodeStream(new URL((String)params[0]).openStream());  
            	bmp=getUrlimg((String)params[0]);
            } catch (MalformedURLException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            } catch (IOException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
            return bmp;  
        }  
          
        protected void onPostExecute(Bitmap result){  
            imageView.setImageBitmap(result);  
        }  
    }  


然后在  adapter里的设置  imageview的  时候调用这个方法    比如
private View makeItemView(String strTitle, String url) {  
            LayoutInflater inflater = (LayoutInflater) AddShowbuttonList.this  
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
  
            // 使用View的对象itemView与R.layout.item关联  
            View itemView = inflater.inflate(R.layout.brandlistitem, null);  
  
            // 通过findViewById()方法实例R.layout.item内各组件  
            TextView title = (TextView) itemView.findViewById(R.id.branditemTitle);  
            title.setText(strTitle);  
            ImageView image = (ImageView) itemView.findViewById(R.id.branditemImage);  
            new ImageDownloadTask().execute(url, image);
//            try {
//				image.setImageBitmap(getUrlimg(url));
//			} catch (IOException e) {
//				// TODO Auto-generated catch block
//				e.printStackTrace();
//			}
			//image.setImageResource(R.drawable.loading);
            return itemView;  
        } 
分享到:
评论

相关推荐

    图片异步加载,照片墙,异步加载listview图片2

    以下是对"图片异步加载,照片墙,异步加载listview图片2"这一主题的详细解释。 1. 图片异步加载的重要性: 在移动设备上,如果图片资源直接在主线程中加载,可能会导致应用卡顿或ANR(Application Not Responding...

    Android实现ListView异步加载图片

    "Android实现ListView异步加载图片" Android 实现 ListView 异步加载图片是一种常见的技术,旨在提高应用程序的性能和用户体验。本文将详细介绍 Android 中实现 ListView 异步加载图片的方法,并对相关的技术概念...

    Android Listview异步加载图片

    Picasso和Glide的API简洁,易于集成,是解决ListView图片加载问题的首选方案。 针对“图片错位”问题,以下是一些常见的解决方案: - **复用convertView**:ListView为了提高性能,会复用已创建的View,如果不正确...

    Android ListView异步加载图片

    Android 异步加载图片,对ListView的异步加载图片的功能演示,主要根据url读取图片返回流的方法。为了方便演示,将请求图片的链接先固定,每读取好一个图片就更新,界面比较简单,当然你可以做成比较好的,像很多好...

    android listView图片异步加载(拖动时不加载,双缓存)

    本文将详细介绍如何在ListView中实现图片的异步加载,并且在用户拖动时不加载,以提高滚动流畅性。 一、异步加载原理 异步加载是指在后台线程中执行耗时操作,例如网络请求或解码图片,避免阻塞主线程。Android提供...

    android listView 异步加载图片

    这里的“android listView 异步加载图片”指的是在不阻塞UI线程的情况下,从网络、本地存储或其他来源加载图片到ListView中的技术。 这篇名为“ImageLoader”的Java文件很可能就是一个实现图片异步加载的工具类。在...

    android通过json异步加载listview

    在Android开发中,"通过JSON异步加载ListView"是一个常见的需求,主要用于实现数据的动态更新和用户界面的流畅性。这个技术涉及到多个关键知识点,包括网络请求、JSON解析、线程处理以及ListView的使用。 首先,...

    android异步加载网络图片到ListView

    总结来说,实现"android异步加载网络图片到ListView"涉及到以下几个关键步骤: 1. 使用AsyncTask或其他异步处理方式在后台线程加载网络图片。 2. 应用ViewHolder模式优化ListView的滚动性能。 3. 自定义Adapter,...

    Android图片异步加载-ListView、GridView、ViewPager

    总的来说,Android-Universal-Image-Loader为Android开发者提供了一种高效、灵活的图片异步加载解决方案,无论是ListView、GridView还是ViewPager,都可以通过其强大的功能提升用户体验。在实际开发中,掌握这个库的...

    Android中ListView全面完美的网络图片的异步加载

    "Android中ListView全面完美的网络图片异步加载"这一主题正是解决这些问题的关键。 首先,我们需要理解异步加载的概念。异步加载意味着在后台线程处理耗时操作,如下载和解码图片,而不是在主线程中执行,这样可以...

    安卓Android源码——listview实现图片的异步加载.zip

    本资料“安卓Android源码——listview实现图片的异步加载.zip”应该包含一个示例项目,演示了如何在ListView中高效地加载网络图片。 1. **异步加载原理**:异步加载是为了避免主线程(UI线程)被阻塞,将耗时的图片...

    ListView异步加载图片

    通过以上步骤,我们可以实现一个高效的ListView图片异步加载机制。这种方案不仅可以提升用户体验,还能有效利用系统资源,避免内存问题。在实际项目中,还可以结合其他图片加载库,如Glide、Picasso等,它们提供了更...

    Android studio异步数据加载ListView+Adapter+AsyncTask

    总结,通过结合ListView、Adapter和AsyncTask,我们可以实现在Android Studio中异步加载数据,提高应用的响应速度和用户体验。在实际开发中,还需要根据项目的具体需求,灵活运用这些技术和库,不断优化数据加载的...

    安卓图片加载缓存相关-AsyncTask的使用及ListView的常见优化asyncTask异步加载数据使用了LruCache优化图片加载通过滑动监听提高ListView滑动流畅度.rar

    AsyncTask的使用及ListView的常见优化 asyncTask异步加载数据 使用了LruCache优化图片加载 通过滑动监听提高ListView滑动流畅度.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习...

    Android ListView优化 异步加载图片

    在Android开发中,...通过以上介绍,你应该对Android ListView的优化有了更深入的理解,特别是异步加载图片和Json解析这两个关键环节。实践中,结合各种优化策略,能有效提升ListView的性能,提供流畅的用户体验。

    sax解析数据并异步加载listview

    在Android开发中,高效地加载大量数据到列表视图(ListView)是常见的需求,而"SAX解析数据并异步加载listview"就是一种优化用户体验的方法。SAX(Simple API for XML)是一种事件驱动的XML解析器,适用于处理大型XML...

    listview 异步加载网络图片

    10. **总结**:在Android的ListView中实现异步加载网络图片,需要结合异步处理框架、选择合适的图片库、优化缓存策略、合理管理内存,并对ListView进行优化。通过这些手段,可以显著提升应用的性能和用户体验。

    android listview异步加载图片实例(线程池+数据库+本地保存)

    本实例将详细讲解如何实现“Android ListView异步加载图片”,结合线程池、数据库和本地保存来优化性能。 首先,我们需要理解异步加载的概念。在Android中,由于主线程负责用户界面的更新,因此不应在主线程中执行...

Global site tag (gtag.js) - Google Analytics