为什么80%的码农都做不了架构师?>>>   

  1. Drawees 不支持 wrap_content 属性

    强制性的宽高,你必须声明 android:layout_width 和 android:layout_height。如果没有在XML中声明这两个属性,将无法正确加载图像。

wrap_content

Drawees 不支持 wrap_content 属性。

所下载的图像可能和占位图尺寸不一致,如果设置出错图或者重试图的话,这些图的尺寸也可能和所下载的图尺寸不一致。

如果大小不一致,假设使用的是 wrap_content,图像下载完之后,View将会重新layout,改变大小和位置。这将会导致界面跳跃。

固定宽高比

只有希望显示固定的宽高比时,可以使用wrap_content

如果希望图片以特定的宽高比例显示,例如 4:3,可以在XML中指定:

<com.facebook.drawee.view.SimpleDraweeView     android:id="@+id/my_image_view"     android:layout_width="20dp"     android:layout_height="wrap_content"     fresco:viewAspectRatio="1.33"     <!-- other attributes -->

也可以在代码中指定显示比例:

mSimpleDraweeView.setAspectRatio(1.33f);

不要使用 ScrollViews#

如果你想要在一个长的图片列表中滑动,你应该使用 RecyclerViewListView,或 GridView。这三者都会在你滑动时不断重用子视图。Fresco 的 view 会接收系统事件,使它们能正确管理内存。

ScrollView 不会这样做。因此,Fresco view 不会被告知它们是否在屏幕上显示,并保持图片内存占用直到你的 Fragment 或 Activity 停止。你的 App 将会面临更大的 OOM 风险。

不要向下转换

不要试图把Fresco返回的一些对象进行向下转化,这也许会带来一些对象操作上的便利,但是也许在后续的版本中,你会遇到一些因为向下转换特性丢失导致的难以处理的问题。

不要使用getTopLevelDrawable

DraweeHierarchy.getTopLevelDrawable() 仅仅 应该在DraweeViews中用,除了定义View中,其他应用代码建议连碰都不要碰这个。

在自定义View中,也千万不要将返回值向下转换,也许下个版本,我们会更改这个返回值类型。

不要复用 DraweeHierarchies

永远不要把 DraweeHierarchy 通过 DraweeView.setHierarchy 设置给不同的View。DraweeHierarchy 是由一系列 Drawable 组成的。在 Android 中, Drawable 不能被多个 View 共享。

不要在多个DraweeHierarchy中使用同一个Drawable

原因同上。当然可以使用不同的资源ID,Android 实际会创建不同的 Drawable。

不要直接控制 hierarchy

不要直接使用 SettableDraweeHierarchy 方法(resetsetImage,...)。它们应该仅由 controller 使用。

不要直接给 DraweeView 设置图片。

目前 DraweeView 直接继承于 ImageView,因此它有 setImageBitmapsetImageDrawable 等方法。

如果利用这些方法直接设置一张图片,内部的 DraweeHierarchy 就会丢失,也就无法取到image pipeline 的任何图像了。

使用 DraweeView 时,请不要使用任何 ImageView 的属性

在后续的版本中,DraweeView 会直接从 View 派生。任何属于 ImageView 但是不属于 View 的方法都会被移除。

内容来自:http://fresco-cn.org/docs/index.html#_

转载于:https://my.oschina.net/MStart/blog/661747

Fresco几处不太好的地方相关推荐

  1. 数学教科书中编排不太合理的地方(来自网络)

    如我们以前所介绍的,四年多来数学教育技术讨论班系统地研究了现行中学数学统编教科书,从头到尾过了至少两遍,参看了人教版.北师大版等各种版本,并及时跟进新版.原本计划最终给出一个系统的研究报告,但现在看来 ...

  2. 感觉 Data Access Application Block(DAAB) 里也有可能写得不太好的地方

    昨天下载了博客园的代码,里面有一个 Data\SqlServer.cs 我不清楚是不是 MS DAAB 里的原样文件.不过前面有声明如下: // =========================== ...

  3. 上海,不算太郁闷的地方

    家里的机器才买来不到5个月,风扇的声音奇大无比.结果打开机箱一看,我的天哦,CPU散热片上厚厚一层灰.我在兰州用5年的机器也结不了这么多灰啊!真脏! 半年前,我跟几个上海朋友说上海的房子要跌,他们不信 ...

  4. 学习Python3:201701030

    第一步首先是开发环境的搭建 参考:anconda 参考:类库问题 IDE:pycharm,去官网下载即可,内容前两篇也有提到 学习目标与计划 第一周的计划是自学python,之后周一到周五每天都有作业 ...

  5. php培训js重要么,php何以被戏称为“世界上最好的语言”?请看它与js的对比!...

    有位朋友已经自学了几个月的前端知识,js的基本语法掌握的也不错,现在因为项目需要想通过php从后台数据库哀求数据.他总是问我:php难学吗?如果我仅仅需要获取动态数据然后在前端展示,应该从哪里学起?因 ...

  6. 用 GitHub 搭建静态博客太繁琐?用这个小工具实现「傻瓜式」发布!

    公众号关注 「运维之美」 设为「星标」,每天带你玩转 Linux ! 除了作为程序员们分享与协作的平台,GitHub 同时也是一个绝佳的知识分享平台.尤其近几年静态博客逐渐兴起,借助 GitHub 的 ...

  7. “大”北京“小”地方

    北京太大,光世界遗产就无数,逛在北京的人,看惯了北京的大,却常常忽视它的"小".给大家推荐几处值得一去的"小地方",给您的北京生活增添一些新的乐趣.   北京值 ...

  8. 饥荒进别人房间服务器无响应,饥荒黑科技:能秒杀大多数BOSS的BUG,终因太强而被修复...

    <饥荒>虽然是一款看似简单的生存类冒险游戏,但只要亲自接触过游戏的小伙伴们,想必都曾被游戏里面的种种生物或者是某个极端的气候狠狠地教育过. "生存"虽然说起来是那样的简 ...

  9. 梦想的地方!地球上最值得去的20个地方【组图】

    如果你是一个热爱大自然的人你肯定会喜欢这个集合.地球上有太多的地方和风景值得我们这辈子至少要去看一次.大多数自然摄影师喜欢没有人出现在他们的照片中,他们想获得纯净.完美的风景,没有人类的影响.这篇文章 ...

  10. 输出 100 万字、维护 3 个GitHub 项目,技术大佬的 2019 太燃了……

    一个技术大佬的 2019 by 实验楼课程作者:十三 日常工作之外,2019 年这一年的时间里我制作并上线了四个付费专栏,输出了近 100 万字,在 GitHub 开源平台上维护了 3 个开源项目,同 ...

最新文章

  1. 第39次《中国互联网络发展状况统计报告》发布
  2. 数据中心网络架构 — 云网一体化数据中心网络 — 算力网络 — SDN 架构
  3. 电脑要什么配置好_学平面设计用什么电脑比较好?对配置要求高吗?
  4. [Pyhon大数据分析] 二.PyEcharts绘制全国各地区、某省各城市地图及可视化分析
  5. cuSPARSE库:(七)cusparseCreate()的功能与作用
  6. AutoIT: 开发界面结合GUI automation和Watir Automation
  7. Angular学习笔记(五) - 自定义表单控件
  8. 《最后的狮子》纪录片观后
  9. python输入一系列的值_python中的input()和print()输入输出函数应用实例笔记
  10. 无头像不社交:浅析“头像设置”功能
  11. 现场总线---can总线
  12. 18c新特性——PDB snapshot Carousel 快照轮转
  13. WebSphere Application Server V7、V8 和 V8.5 中的高级安全性加强,第 1 部分: 安全性加强的概述和方法...
  14. 联想微型计算机怎么调亮度,联想笔记本如何调节亮度和音量
  15. JDE910笔记2--OMW项目建立及简单使用
  16. Burg法求解AR(p)模型参数及MATLAB实现
  17. svchost.exe 占用 21 端口,无法开启FTP服务(已解决)
  18. 多表联查--01---LEFT JOIN 实现多表联查
  19. 如何裁剪图片,裁剪图片的几个方法
  20. 实验七 3 小希练打字

热门文章

  1. atitit..国富论 在现代it企业项目管理中的作用attialx 总结---国富论读后感 attialx
  2. PAIP.vs2010打开某个FORM窗体设计视图时崩溃时
  3. Julia也能做爬虫?可以,但没必要
  4. (转)他们才是全球高频交易顶级玩家
  5. 入云!离开张一鸣的字节,做出了第一个重大决定
  6. 【协同任务】基于matlab二阶一致性算法多无人机协同编队动态仿真【含Matlab源码 1740期】
  7. 【图像去噪】基于matlab GUI均值+中值+高斯低通+多种小波变换图像去噪【含Matlab源码 856期】
  8. 提高excel生产力_1.提高员工生产力和工作满意度
  9. html无节日为空,这个生死相拥的节日_311.Html
  10. mysql 1118_mysql innodb 引擎 ,建表时报错:ERROR 1118 (42000)