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、执行流程

      

     

  • 相关阅读:
    Lua中table的实现-《Lua设计与实现》
    unity3D 知识点随手记
    游戏随笔之事件系统的设计
    游戏随笔之游戏资源池的设计
    MMORPG战斗系统随笔(四)、优化客户端游戏性能
    MMORPG战斗系统随笔(三)、AI系统简介
    vue-cli3关闭eslint语法检查
    Vue3+与Vue2共存
    php7中??和?:的区别
    react-hook生命周期
  • 原文地址:https://www.cnblogs.com/hackerkevin/p/4139063.html
Copyright © 2011-2022 走看看