本文将追随鸿阳大神仿微信图片加载的案例,记录学习的过程。
效果图参考微信

加载图片应满足一下三个目标

  1. 避免OOM
  2. 用户操作UI尽可能的流畅
  3. 选择适当的图片加载策略

避免OOM
A.根据图片的显示大小压缩图片
B.使用缓存 LruCache
UI操作流畅:
A.在获取图片的过程中避免耗时操作,主要通过异步加载+回调显示完成。
图片加载策略:
LIFO FIFO
解释: 第一种是one by one ,按顺序一张一张的加载,即我们说说的先进先出 FIFO,这种方式虽然也可以通过监听屏幕的高度内所有图片的数量来实现优先加载当前屏幕内的图片
第二种 是拖动到哪里,哪里的图片优先显示,即我们说的后进先出LIFO。

Imageloader1-总体简介相关推荐

  1. FreeSwitch学习(1)-总体简介

    1.FreeSwitch的概念 FreeSwitch是一个开源的语音通信软交换平台,是一个跨平台的/伸缩性极好的/免费的/多协议的电话软交换平台. 1.1.FreeSwitch的特性  FreeSw ...

  2. CRB开发-总体简介

    一.工具总体图 总共分5大区域,从上到下依次位,导航菜单.锁定MODULE区域.相关快捷键区域.属性区域.操作索引导航区域 二.开发架构思想 1.3层模型设计,类似MVC思想 Recordsets(M ...

  3. twemproxy源码解析1 源码文件总体简介

    在正式开始阅读代码之前,先来看一下代码整体结构 代码规模不大只有1w多行,而且功能划分的比较清晰,包括: 事件处理: event/nc_epoll.c.event/nc_event.h.event/n ...

  4. 【Apollo】Apollo2.5自动驾驶总体简介

    最近对百度的自动驾驶平台Apollo项目做了一些了解.下面将我所了解到的一些信息分享给大家. Apollo项目介绍 阿波罗(Apollo)是百度发布的面向汽车行业及自动驾驶领域的合作伙伴提供的软件平台 ...

  5. System.Web.Caching

    缓存主要是为了提高数据的读取速度.因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能. 本章从缓存 ...

  6. 光驱动器类有哪些最新发表的毕业论文呢?

    一.总体简介 光驱动器的相关文献在1997年到2020年内共计255篇,主要集中在自动化技术.计算机技术.无线电电子学.电信技术.工业经济 等领域,其中期刊论文55篇.会议论文1篇.专利文献199篇: ...

  7. android微信post提交表单,微信自带浏览器不支持form表单post提交方案解决

    opencart 引入 TWIG 模板引擎 1.首先将 twig 包放入 system\library 目录. 2.在 system/startup.php 文件最后添加引入语句. require_o ...

  8. 光谱分析有哪些最新发表的毕业论文呢?

    一.总体简介 光谱分析的相关文献在1980年到2021年内共计4462篇,主要集中在化学.自动化技术.计算机技术.物理学 等领域,其中期刊论文2370篇.会议论文828篇.专利文献1264篇: 相关期 ...

  9. 光速类有哪些最新发表的毕业论文呢?

    一.总体简介 光速的相关文献在1986年到2020年内共计621篇,主要集中在物理学.无线电电子学.电信技术.自动化技术.计算机技术 等领域,其中期刊论文496篇.会议论文5篇.专利文献120篇: 相 ...

  10. 智能交通组合拳--飞桨实现车辆类别/车牌/车速检测、跨境头跟踪、车流密度检测、逆行检测

    智能交通组合拳–飞桨实现车辆类别/车牌/车速检测.跨境头跟踪.车流密度检测.逆行检测 总体简介 这个项目的代码和文件全部都已经上传到百度aistudio上,有需要的伙伴的可以搜索下面的链接找到,那里已 ...

最新文章

  1. gitblit mysql_Gitblit服务器搭建及IDEA整合Git使用
  2. rancher的微服务运维
  3. MongoDB入门_MongoDB安装与配置
  4. jdbc ---- DBUTilDao 类
  5. Python IO编程——文件读写
  6. 今日头条面试题——LRU原理和Redis实现
  7. SWFObject Flash 增强插件
  8. 到底有多二:一个整数“犯二的程度”定义为该数字中包含2的个数与其位数的比值。
  9. php opcode修改,PHP配置文件缓存opcode设置步骤
  10. 一大波优秀3D作品来袭!看各国3D艺术家如何描绘2020!
  11. 基于smart_rtmp直播,最简单的部署手册
  12. 网友测试:优品拍拍二手交易平台
  13. 【知识兔】Excel教程之隔行/隔列求和
  14. svn: E175003:The server at ‘https://XXX/!/#XXX/XXX‘ does not support the HTTP/DAV protocol解决方案
  15. C++ 调用打印机 打印一段文字
  16. 【概念】同比、环比、定基比
  17. AI如何帮助亚马逊达成市值万亿美元成就?
  18. 后台:七牛云上传图片,视频,文件
  19. go mod module declares its path as: gtihub.com/xxx-xx but was required as:xx-xx
  20. VM上安装windows server2012和sql server2012

热门文章

  1. NLP 笔记:Skip-gram
  2. 在阿里写了8年代码后,我才明白这些道理
  3. PyQt5+python3+pycharm开发环境配置
  4. 深度学习100例-卷积神经网络(CNN)彩色图片分类 | 第2天
  5. Python编程基础:第四十六节 super函数Super Function
  6. 【git学习五】git基础之git分支
  7. 政策定价风控审批策略
  8. 使用Hive或Impala执行SQL语句,对存储在HBase中的数据操作
  9. spring mvc DispatcherServlet详解之一---处理请求深入解析(续)
  10. 深入redis内部--初始化服务器