`

ImageLoader异步加载的原理2---使用AsynncTask

 
阅读更多

和我的上一篇博客一样,只是这次我采用的是AsyncTask

/**
 * Created by zhang on 2016/11/27.
 */
public class ImageLoader {

    public void showImageByAsyncTask(ImageView imageView, String url) {
        new NewsAsyncTask(imageView, url).execute(url);
    }

    private class NewsAsyncTask extends AsyncTask<String, Void, Bitmap> {
        private ImageView mImageView;
        private String mUrl;

        public NewsAsyncTask(ImageView imageView, String url) {
            mImageView = imageView;
            mUrl = url;
        }

        @Override
        protected Bitmap doInBackground(String... params) {
            MediaMetadataRetriever media = new MediaMetadataRetriever();
            media.setDataSource(params[0]);
            Bitmap bitmap = media.getFrameAtTime(3000);
            bitmap = ThumbnailUtils.extractThumbnail(bitmap, 100, 100);
            return bitmap;
        }

        @Override
        protected void onPostExecute(Bitmap bitmap) {
            super.onPostExecute(bitmap);
            if (mImageView.getTag().equals(mUrl)) {
                mImageView.setImageBitmap(bitmap);
            }

        }
    }
}

 

    然后在Adapter中调用改为下面这行代码就行了

new ImageLoader().showImageByAsyncTask(holder.iv_icon_video, url);

 

分享到:
评论

相关推荐

    ImageLoader异步加载实例

    "ImageLoader"是一个常见的解决方案,它能够实现图片的异步加载,提高用户体验,避免UI线程阻塞,防止内存溢出。本实例将详细探讨ImageLoader的异步加载机制及其在实际应用中的实现。 首先,我们要理解什么是异步...

    android图片异步加载框架universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar

    http://www.bdqn.cn/news/201308/10849.shtml

    使用ImageLoader实现图片异步加载

    "使用ImageLoader实现图片异步加载"这个主题就是针对这一问题提出的一种解决方案。ImageLoader是一款强大的图片加载库,它能帮助开发者高效地管理内存,避免因图片加载导致的内存溢出,同时实现图片的异步加载,提升...

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

    - 图片加载:使用ImageLoader类的displayImage方法,传入图片URL和ImageView对象,库会自动在后台加载图片并将其显示在ImageView上。 - 缓存机制:库自动管理内存和磁盘缓存,根据策略决定是加载缓存还是网络图片...

    使用ImageLoader图片加载框架加载一张网络图片

    本文将详细介绍如何使用ImageLoader框架加载一张网络图片。 首先,我们需要理解ImageLoader的基本工作原理。ImageLoader的核心理念是将图片加载过程分为两个主要步骤:下载和显示。它使用内存和磁盘双重缓存机制,...

    dotnet-UnityImageLoader用于Unity中的图片异步显示加载库

    在Unity-ImageLoader-master这个压缩包中,很可能包含了源代码、示例项目、文档和其他相关资源。通过研究这些内容,开发者可以深入理解其工作原理,并根据项目需求进行适当的修改和优化。如果你正在为Unity项目寻找...

    图片加载框架---ImageLoader

    2. **调用ImageLoader实例的displayImage方法**:指定图片的URL和ImageView组件,ImageLoader会自动处理图片的加载、缓存以及展示过程。 示例代码如下: ```java DisplayImageOptions options = new ...

    图片异步加载开源组件Android-Universal-Image-Loader使用

    1. **异步加载原理**: 异步加载是指在主线程之外的子线程中进行图片的下载和解码,避免阻塞UI更新,提高应用性能。AUIL通过创建工作线程来处理图片的加载,当图片加载完成后再将结果显示到UI上,保证了用户界面的...

    Android-ImageLoader具有某些新特性的图片加载框架

    总的来说,ImageLoader作为一款成熟的Android图片加载框架,其异步加载、缓存机制、图片处理和丰富的配置选项等特性,使得它在处理图片显示问题时表现优异。对于希望提升应用性能和用户体验的开发者来说,理解和掌握...

    使用ImageLoader进行图片加载

    本教程将围绕“使用ImageLoader进行图片加载”这一主题,深入讲解ImageLoader库的使用方法和原理,以及如何通过它来避免内存溢出。 ImageLoader是一个流行的Android图片加载库,由Volley项目团队开发。它提供了高效...

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

    Android-Universal-Image-Loader(UIL)就是一个广泛使用的开源库,它提供了强大的图片异步加载和缓存功能。 首先,我们来了解Android-Universal-Image-Loader的基本原理。这个库主要由三部分组成:ImageLoader配置...

    Android图片异步加载框架Android-Universal-Image-Loader

    Android-Universal-Image-Loader是一个图片异步加载、缓存和显示的框架,该框架已经被很多开发者所使用,是最常用的几个Android开源项目之一,主流的应用,随便反编译几个,都可以见到它的身影。淘宝、天猫、...

    Android-Universal-Image-Loader 图片异步加载类库的使用

    **Android-Universal-Image-Loader 图片异步加载库详解** 在Android开发中,图片的加载和显示是一项常见的任务,特别是在处理大量图片或者网络图片时,如何高效、流畅地加载和展示图片至关重要。为此,开发者社区...

    imageloader加载https图片

    解决imageloader可以加载https图片

    ImageLoader加载网络图片

    1. **异步加载**:ImageLoader支持在后台线程加载图片,避免阻塞UI,使得用户界面保持流畅。 2. **内存缓存**:加载过的图片会被存储在内存缓存中,当再次需要时,可以从内存中快速获取,提高加载速度。 3. **磁盘...

    Imageloader加载本地相册

    - **异步加载**: 使用ImageLoader的异步加载功能,避免UI线程阻塞。 - **缓存策略**: 合理设置缓存策略,平衡内存使用和加载速度。 - **图片尺寸调整**: 根据需要调整图片大小,减少内存占用。 - **复用...

    ImageLoader安卓异步加载图片开源工具类

    图片异步加载缓存机制,包括内存缓存(软引用)及本地缓存; 对加载过程实现监听和事件处理; 能够配置加载图片的显示选项,包括图片圆角处理和加载完成显示动画等; 最近自己测试过,没有问题,其实也就是GIT上的...

    Retrofit简单使用+ImageLoader图片加载

    本文将深入探讨Retrofit的基本使用方法以及如何结合ImageLoader进行图片加载。 首先,Retrofit的核心概念是接口定义。在Android应用中,我们通过创建一个接口来声明所有的网络请求方法,如GET、POST等。例如: ```...

    安卓图片加载缓存相关-afinal框架实现图片的简单异步缓存加载.rar

    本压缩包文件“安卓图片加载缓存相关-afinal框架实现图片的简单异步缓存加载.rar”包含了使用Afinal进行图片管理的相关代码示例。 首先,我们来理解一下图片加载缓存的基本原理。图片加载缓存通常包括内存缓存和...

Global site tag (gtag.js) - Google Analytics