glide
文章平均质量分 85
chanzhu
每个代码都有一段故事
展开
-
Glide进阶详解(二)
画廊实现示例:ListView首先我们需要一些测试图片。我们从我们的 eatfoody.com 项目中去拿了一些图片。public static String[] eatFoodyImages = { "http://i.imgur.com/rFLNqWI.jpg", "http://i.imgur.com/C9pBVt7.jpg",原创 2017-01-22 21:39:32 · 411 阅读 · 0 评论 -
Glide进阶详解(十一)
为何要在指定的尺寸下请求图片在一个最近的项目中我们与一个多媒体服务端工作,它也是图片服务端,提供了非常高的图像质量(图像可能有 6000x4500 像素)。虽然我们可以直接用链接去拿源文件,但这对于设备的带宽,内存和电池来说,这么做是非常低效的。即使今天的设备有着非常高的分辨率显示屏,有这么高的一个分辨率没有任何好处。这就是为什么 Glide 总是测量 ImageView 的尺寸,并减少图原创 2017-01-22 22:14:05 · 377 阅读 · 0 评论 -
Glide进阶详解(十)
用 GlideModule 修改 Glide在继续阅读前,请确保你已经阅读并理解了之前的博客 关于 GlideModule 的。我们不会在这个博客中继续说它的基础知识。相反,我们要跳过这个问题。所以确保你已经更新了你的 GlideModule 的基础知识。你已经知道 GlideModule 提供给你两个方法去改变行为。上周,我们看了第一个方法 applyOptions()。这周我们原创 2017-01-22 22:11:34 · 711 阅读 · 0 评论 -
Glide进阶详解(九)
集成网络栈通过 HTTP/HTTPS 从网络上下载图像并显示是非常重要的一块。虽然标准的 Android 网络包也能做这些工作,但在 Android 中开发了很多提升网络的模块。每个库有它自己的优势和劣势。最后,这其实需要项目的配合和开发人员自己的品位来决定的。Glide 的开发者不强制设置网络库给你,所以 Glide 可以说和 HTTP/S 无关。理论上,它可以与任何的网络库实现原创 2017-01-22 22:09:05 · 555 阅读 · 0 评论 -
Glide进阶详解(八)
动画基础从图像到图像的平滑过渡是非常重要的。用户不喜欢在应用中出现突然的转变。这就是 Glide 要做的。Glide 中有一个标准动画去柔软的在你的 UI 中改变。我们在之前的博客 看了 .crossFade()。但是这篇博客,我们要去看看除了 .crossFade() 的其他选择。Glide 提供了两个选项去设置一个动画。两个版本都是在 animate() 中,但传的参数并不同。原创 2017-01-22 21:58:09 · 357 阅读 · 0 评论 -
Glide进阶详解(七)
Glide 的 GeneralRequest 类提供了一个方法去设置 log 的级别。不幸的是,在生产过程中,使用这个类并不容易。然而,有一个非常简单的方法去获得 Glide 的调试日志。你所要做的就是通过 adb的 shell 来激活。打开你的终端,使用以下命令:adb shell setprop log.tag.GenericRequest DEBUG 最后一个 D原创 2017-01-22 21:53:55 · 1514 阅读 · 0 评论 -
Glide进阶详解(一)
为何使用 Glide?有经验的 Android 开发者可以跳过这节,但对于初学者来说,你可能会问自己为什么你想要去用 Glide,而不是自己去实现。Android 在处理图片工作的时候显得有点娘,因为它会以像素形式加载图片到内存中去,一张照片平均普通的手机摄像头尺寸是 2592x1936 像素(5百万像素)将大约会分配 19MB 内存。对于复杂的网络情况,缓存和图片处理,如果你原创 2017-01-22 21:34:49 · 577 阅读 · 0 评论 -
Glide进阶详解(六)
Glide 中的回调:Targets目前为止,我们很方便的使用 Glide 建造者去加载图片到 ImageView 中了。Glide 隐藏了一大堆复杂的在后台的场景。Glide 做了所有的网络请求和处理在后台线程中,一旦结果准备好了之后,切回到 UI 线程然后更新 ImageView。在这篇博客中,我们假定 ImageView 不再是图像的最后一步。我们只要 Bitmap 本身原创 2017-01-22 21:49:59 · 554 阅读 · 0 评论 -
Glide进阶详解(五)
图片请求的优先级通常,你会遇到这样的使用场景:你的 App 将会需要在同一时间内加载多个图像。让我们假设你正在构建一个信息屏幕,这里有一张很大的英雄图片在顶部,还有两个小的,在底部还有一些不那么重要的图片。对于最好的用户体验来说,应用图片元素是显示要被加载和显示的,然后才是底部不紧急的 ImageView。Glide 可以用 Priority 枚举来支持你这样的行为,调用 .prior原创 2017-01-22 21:47:21 · 811 阅读 · 0 评论 -
Glide进阶详解(四)
缓存基础在 Android App 中必须去做的是一个很好的实现图片加载组件,尝试去减少网络请求。Glide 在这里并没有什么不同。Glide 通过使用默认的内存和磁环缓存去避免不必要的网络请求。我们将在后面的博客中去详细的查看实现细节。如果你等不到那个时候,通过浏览官方文档这个话题。目前最重要的是带着所有的图片请求放到内存和磁盘中。虽然缓存通常是很有用的,但在某些情况下,它可能不原创 2017-01-22 21:45:08 · 553 阅读 · 0 评论 -
Glide进阶详解(三)
我们甚至没有必要去解释和讨论:空 ImageView 在任何 UI 上都是不好看的。如果你用 Glide,你很可能是通过网络连接加载图像。根据你用户的环境,这可能需要花费很多的时间。一个预期的行为是一个APP 去显示一个占位符直到这张图片加载处理完成。Glide 的流式接口让这个变得非常容易的去做到!只需要调用 .placeHolder() 用一个 drawable(resource)原创 2017-01-22 21:42:37 · 662 阅读 · 0 评论 -
Glide进阶详解(十二)
如何用 Glide 旋转图片事实上,android.graphics.Matrix 类提供了我们所需要的准确办法(甚至更多办法)。这个代码片段就是用来旋转图像的:Bitmap toTransform = ... // your bitmap sourceMatrix matrix = new Matrix(); matrix.postRotate(rotateRotatio原创 2017-01-22 22:16:40 · 708 阅读 · 0 评论