如今市面上差点儿全部的app都用到了图片,图片模块的开发是app开发中不可缺少的一块工作,

开源的力量是强大的。好多优秀的第三方项目能够任君使用,帮助我们提高效率。而且不须要反复造轮子,这边我採用的是google官方推荐的 Glide项目。至于为何选择它请读者们自行谷歌glide详情,谷歌之前可先參考 怎样评估开源库是否值得引入 ;

好!

那么废话不多讲 。进入今天主题:图片模块(Glide封装):

基础方法

此段是依据我们经常使用到的一些方法所整理出来的。有遗漏或者有什么补充,欢迎大家来建议。

  • 前台载入图片

    • 依据不同參数(url/resID…)显示图片
    • 载入圆角等不同形状图片
    • 载入缩略图
  • 后台获取图片(默认大小、指定大小…)
  • 后台处理图片(后台获取,做特殊用途…)最好是在非UI线程中调用
  • 缓存
    • 清除磁盘(非UI线程调用)
    • 清除内存(UI线程中操作)

glide基础知识

  • 了解缓存机制,网络配置
  • 一些详细基本使用与注意点
    • .animate()//設置load完的動畫
    • 改变图片样式形状:transcode()
    • 图片缩放比例:thumbnail()
    • 单个跳过内存:skipMemoryCache(true)
    • 跳过磁盘缓存
    • ….

glide个性化方法

glide有非常多特性方法,比方说 GIF图载入。自己定义Target等等。

这块我们了解就可以,如真有特殊需求再去深入挖掘。

与业务线相关方法

涉及到业务这块的方法:就是以上glide方法的一些搭配使用,比方说我内容的图标载入失败就显示一个“error”字样的图片,人物图标载入失败 显示的是个默认人型头像的图标。

这块依据实际业务来操作。大家看看就好

这表推荐几个glide相关配套开源项目:

  1. 一个为glide提供了多种图像变换的Android转换库。:glide-transformations
  2. 取色:GlidePalette

封装篇——图片模块(Glide)的更多相关文章

  1. 转:OSGi 入门篇:模块层

    OSGi 入门篇:模块层 1 什么是模块化 模块层是OSGi框架中最基础的一部分,其中Java的模块化特性在这一层得到了很好的实现.但是这种实现与Java本身现有的一些模块化特性又有明显的不同. 本文 ...

  2. Windows 7 封装篇(一)【母盘定制】[手动制作]定制合适的系统母盘

    Windows 7 封装篇(一)[母盘定制][手动制作]定制合适的系统母盘 http://www.win10u.com/article/html/10.html Windows 7 封装篇(一)[母盘 ...

  3. 【转】利用Boost.Python将C++代码封装为Python模块

    用Boost.Python将C++代码封装为Python模块 一.     基础篇 借助Boost.Python库可以将C/C++代码方便.快捷地移植到python模块当中,实现对python模块的扩 ...

  4. android 加载图片框架--Glide使用详解

    一.简介 Glide,一个被google所推荐的图片加载库,作者是bumptech.这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app.(PS:众所 ...

  5. 接口测试基础——第6篇unittest模块(一)

    我们先来简单介绍一下unittest框架,先上代码,跟住了哦~~ 1.建立如下结构的文件夹: 注意,上面的文件夹都是package,也就是说你在new新建文件夹的时候不要选directory,而是要选 ...

  6. MyBatis 源码篇-插件模块

    本章主要描述 MyBatis 插件模块的原理,从以下两点出发: MyBatis 是如何加载插件配置的? MyBatis 是如何实现用户使用自定义拦截器对 SQL 语句执行过程中的某一点进行拦截的? 示 ...

  7. MyBatis 源码篇-日志模块2

    上一章的案例,配置日志级别为 debug,执行一个简单的查询操作,会将 JDBC 操作打印出来.本章通过 MyBatis 日志部分源码分析它是如何实现日志打印的. 在 MyBatis 的日志模块中有一 ...

  8. MyBatis 源码篇-日志模块1

    在 Java 开发中常用的日志框架有 Log4j.Log4j2.Apache Common Log.java.util.logging.slf4j 等,这些日志框架对外提供的接口各不相同.本章详细描述 ...

  9. v77.01 鸿蒙内核源码分析(消息封装篇) | 剖析LiteIpc(上)进程通讯内容 | 新的一年祝大家生龙活虎 虎虎生威

    百篇博客分析|本篇为:(消息封装篇) | 剖析LiteIpc进程通讯内容 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁 ...

随机推荐

  1. Haproxy TCP数据转发

    在实际项目中需要用到haproxy做TCP转发,下面主要针对haproxy的安装及TCP数据转发配置进行说明 一.安装Haproxy (1)编译安装Haproxy mkdir -p /data01/h ...

  2. mysql_install_db 运行结果

    # /usr/local/mysql/scripts/mysql_install_db \ > --defaults-file=/etc/my.cnf \ > --basedir=/usr ...

  3. 【转载】Hibernate之hbm.xml集合映射的使用(Set集合映射,list集合映射,Map集合映射)

    https://www.cnblogs.com/biehongli/p/6555994.html

  4. Java 8 – Stream Collectors groupingBy count examples

    Java 8 – Stream Collectors groupingBy count examples 1. Group By, Count and Sort1.1 Group by a List ...

  5. maven pom文件简单模板和配置详解

    https://blog.csdn.net/earbao/article/details/49924943 maven pom文件简单模板和配置详解

  6. flowable 中task的相关操作

    1 获取任务列表 1)获取候选人的任务列表 TaskService taskService = processEngine.getTaskService(); List<Task> tas ...

  7. 用Entityframework 调用Mysql时,datetime格式插入不进去数据库的解决办法。

    1. 打开Model.edmx, 2. 选择userinfo中的createtime字段的属性 3. storegeneratedpattern设置值为None

  8. idea搭建javaweb项目 Artifacts生成

    菜单:File - > Project Structure 图1 图2:静态资源文件 图3:java文件编译到WEB-INF/classes 图4:Inherit project compile ...

  9. mysql中tinyint、smallint、int、bigint的区别

    tinyint 从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据.存储大小为 1 个字节. unsigned 是从 0 到 255 的整型数据. 所以建表的时候 只能是tinyi ...

  10. Java 清除指定目录文件夹下文件

    public static void clearFiles(String filePath){ File scFileDir = new File(filePath); File TrxFiles[] ...