zoukankan      html  css  js  c++  java
  • smartimageview使用与实现原理

    一、从网络中获取图片的步骤

      从网络中获取图片是一个耗时耗资源耗费用户流量的操作,故我们在第一次获取到网络中图片的时候会将其缓存到本地(内存或SD卡),以保证下次再需要这张图片时,可以从本地加载到。

    二、SmartImageView的使用方法

      SmartImageView是一个自定义控件,使用时用于代替ImageView,其自身包含一系列setImageUrl和setImageContact方法。下载后会发现是一个文件夹下有七个文件,将其直接拷贝到源码根目录(/src)下。具体下载和使用情况请参考http://loopj.com/android-smart-image-view/

     

    三、源码分析

      1、七个类的作用

      SmartImageView--自定义控件,其中包含了setImageUrl和setImageContact方法,最终都会调用到setImage方法中,启动一个异步任务加载图片。setImageUrl是根据网络url地址加载图片,setImageContact是根据联系人id加载图片。

      SmartImage--抽象类,有一个抽象方法getBitmap,在本项目中包含三个子类BitmapImage、WebImage和ContactImage,可用于扩展。

      WebImage--该类中包含通过url获取图片的方法。

      WebImageCache--该类中包含从本地获取和保存临时图片的方法。

      ContactImage--该类中包含通过contactId从联系人中获取联系人头像的方法。

      SmartImageTask--该类实现了Runnable接口,其中有个OnCompleteHandler继承了Handler接口,其中的onComplete是空函数,业务需要时可以进行复写。

      BitmapImage--该类可作为辅助类用于传递bitmap。

     

      2、执行流程

      

     

  • 相关阅读:
    jquery 应用
    SQL Server表分区
    .NET Framework 各版本区别
    后台添加控件时,必须每次重画控件,才能从前台获取控件数据。
    SVN文件库移植(转)
    C# WebService 的缓存机制
    OpenGL C#绘图环境配置
    java 调用webservice的各种方法总结
    SQLServer锁的概述
    C# Word 类库
  • 原文地址:https://www.cnblogs.com/hackerkevin/p/4139063.html
Copyright © 2011-2022 走看看