避免加载图片出现卡顿,主要是在getView的过程中,采用 异步加载+回调显示。

伪代码如下
class Imageloader{
getView(){
目标:根据URL查找Bitmap
1.首先从缓存LruCache中查找对应的Bitmap
—> 找到直接返回
—> 找不到 url–Task–TaskQueue且发送一个通知去提醒后台轮询线程 (如果根据URL找不到对应的Bitmap , 则启动一个Task,放到TaskQueue中然后通知后台轮询线程)

}

}

关于Task肯定是一个线程,所有的业务逻辑均在run方法中实现
Task—run(){
总体目标:根据URL去加载图片。 不可能加载实际的图片,需要对其进行压缩。
具体步骤:
1. 获取图片的大小
2. 使用Options对图片进行压缩
3. 加载图片切放入到LruCache中
}

关于后台轮询线程,我们这里采用adnroid异步消息处理框架,采用Looper+Message+Handler的模式。

后台轮询线程的主要作用是: 从TaskQueue中获取一个Task交给线程池,去执行Task-run()中的业务逻辑。

Imageloader2-整体思路相关推荐

  1. 数据挖掘应用于流失分析的整体思路

    数据挖掘应用于流失分析的整体思路 多看看模型的构建.解读.验证和应用,不要过多纠缠于数字字段是否全面,是否在自己的企业中可以获取以及取值是否完全合理. 了解一些常见的模型,在这个案例中,我们将应用到目 ...

  2. [原创]使用 NodeJS, MarkdownJS, PrettifyJS 打造个人博客写作平台 - 整体思路

    引言 最近博客更新比较频繁,尝试了几种不同的写作方式,总结如下: 第一种很简单了,直接使用博客园的在线编辑器. 优点是方便快捷,适合写些篇幅不大的随笔. 由于我经常更新的文章比较长,有时间需要花一两个 ...

  3. 合并报表编制采用的理论_合并报表操作的整体思路梳理

    众所周转,财务报表合并是财务核算里的重点也是难点.注册会计师-会计教材中合并报表章节,介绍的<合并财务报表>部分,也是对现行企业会计准则及其应用指南的总结性陈述.整体思路一共分为五个部分: ...

  4. zynqNet整体思路框架

    zynqNet整体思路框架 ZynqNet CNN Accelerator: Schedule 分析FPGA端顶层函数 P_TOP_SETUP P_setLayerConfigs 算法 ZynqNet ...

  5. DotNet4应用程序打包工具(把DotNet4安装程序打包进你的应用程序;WINAPI开发,无dotNet环境也可顺利执行)【一】整体思路...

    先说废话 很多朋友对我写的这个系列的第五篇比较感兴趣:http://www.cnblogs.com/liulun/archive/2011/12/08/2280110.html 因为我承诺第五篇就公布 ...

  6. 菜鸟做设计必看!有关如何做设计的整体思路,以及能否综合的笔记

    对Verilog 初学者比较有用的整理(转自它处) 作者: Ian11122840 时间: 2010-9-27 09:04 标题: 菜鸟做设计必看!有关如何做设计的整体思路,以及能否综合的笔记 所谓综 ...

  7. Step1帐户登录系统(0.整体思路)

    我一直想做一个帐户登录系统,到今天,终于做出了一个雏形,非常高兴,因此,我会在下面的几篇文章对这个系统进行详细的介绍,这是第一篇,介绍一下整体思路,到后面,基本上就是以代码为主了,先看个截图: 这个系 ...

  8. java 搭建个人博客_Spring boot 搭建个人博客系统(一)——整体思路

    Spring boot 搭建个人博客系统(一)--整体思路 一直想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了叶神的牛客项目课受益匪浅,乘热打铁也主要是学习,好让自己熟悉这 ...

  9. keras padding_GAN整体思路以及使用Keras搭建DCGAN

    整体思路: 1:使用噪音,通过一系列的转秩卷积(逆卷积)操作,生成一张图片: 2:使用正常的卷积神经网络判断图片的真假. 训练细节: 1:在训练判决器网络时,对真实图像,加上正标签,对假图像加上假标签 ...

  10. (干货分享)农商行中商业智能建设的整体思路与架构

    商业智能系统并非一个单独的系统,数据主要来源于ERP.WMS.SCM等业务系统.办公系统或互联网的数据文件,通过ETL(Extraction-Transformation-Loading的缩写)工具提 ...

最新文章

  1. Xamarin Essentials教程打开文件
  2. Impala架构和工作原理
  3. 水晶报表分组分栏_web报表可视化设计器工具推荐
  4. 聚类分析在用户行为中的实例_看完这篇,你还敢说不懂聚类分析?
  5. C语言(CED)排序算法总结。比较完整和详细
  6. 全向轮机器人运动模型及应用分析
  7. 用Redis实现分布式锁 与 实现任务队列【转载】
  8. AttributeError: module ‘torch.onnx‘ has no attribute ‘set_training‘
  9. qt信号槽踩坑日记(信号执行一次,槽函数执行多次解决方案)
  10. 透视特洛伊木马程序开发技术(转)
  11. Python面向对象加强3.面向对象中的索引,切片,比较操作以及上下文布尔值
  12. 以太网交换机如何工作以及MAC和PHY
  13. Linux nm命令详解
  14. 绘制几何图形,生成辅助线的思路
  15. NX二次开发-UFUN导入图框UF_PART_import
  16. 【运维探讨】RPA落地实践,提升IT运维工作效能!
  17. 卸载计算机程序有几种方法,电脑上如何卸载软件 卸载软件的三个办法
  18. FET-Pro430烧录失败
  19. STK轨道预报模型(propagator)
  20. 一文即懂clickhouse 百亿级别实战

热门文章

  1. Ubuntu 16.04 安装 caffe
  2. 23. Leetcode 86. 分隔链表 (链表-基础操作类-分隔链表)
  3. MATLAB从入门到精通-机械动力学仿真-Amesim仿真实例:对于任意的外力作用下的机械动力学仿真
  4. MATLAB实战系列(三十三)-技术和医疗的完美结合(续),基于最小二乘法的椭圆拟合
  5. 内容社区,为什么有必要做内容标签系统?
  6. 快手火爆背后的算法逻辑分析
  7. hadoop学习-Netflix电影推荐系统
  8. 适合做公安网的php,gonganbeian.php
  9. 虚拟鼠标代替安卓触屏_iQOO对比黑鲨2:那个虚拟按键设计更好?
  10. python程序多次运行_[Python]在一段Python程序中使用多次事件循环