Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf29d354

Browse files
committed
Site updated: 2017-05-08 11:48:37
1 parentcf397d0 commitf29d354

File tree

5 files changed

+23
-23
lines changed

5 files changed

+23
-23
lines changed

‎2017/04/27/Glide源码解析(一):加载流程/index.html‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,24 +105,24 @@
105105

106106

107107

108-
<metaname="description"content="Glide源码解析(一):加载流程对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
109-
它们的使用场景基本都是重合的,而本人对 Glide">
108+
<metaname="description"content="对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
109+
它们的使用场景基本都是重合的,而本人对 Glide 更为熟悉,所以选取 Glide 来">
110110
<metaproperty="og:type"content="article">
111111
<metaproperty="og:title"content="Glide源码解析(一):加载流程">
112112
<metaproperty="og:url"content="http://hefuyicoder.com/2017/04/27/Glide源码解析(一):加载流程/index.html">
113113
<metaproperty="og:site_name"content="乌有先生的个人博客">
114-
<metaproperty="og:description"content="Glide源码解析(一):加载流程对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
115-
它们的使用场景基本都是重合的,而本人对 Glide">
114+
<metaproperty="og:description"content="对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
115+
它们的使用场景基本都是重合的,而本人对 Glide 更为熟悉,所以选取 Glide 来">
116116
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/glideprocress.png">
117117
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/DrawableTypeRequest.png">
118118
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/GenericRequestBuilder.png">
119119
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/DataLoadProvider.png">
120120
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/FixLoadProvider.png">
121-
<metaproperty="og:updated_time"content="2017-05-08T03:44:25.000Z">
121+
<metaproperty="og:updated_time"content="2017-05-08T03:47:40.000Z">
122122
<metaname="twitter:card"content="summary">
123123
<metaname="twitter:title"content="Glide源码解析(一):加载流程">
124-
<metaname="twitter:description"content="Glide源码解析(一):加载流程对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
125-
它们的使用场景基本都是重合的,而本人对 Glide">
124+
<metaname="twitter:description"content="对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。
125+
它们的使用场景基本都是重合的,而本人对 Glide 更为熟悉,所以选取 Glide 来">
126126
<metaname="twitter:image"content="http://o8swcawjo.bkt.clouddn.com/glideprocress.png">
127127

128128

@@ -435,7 +435,7 @@ <h1 class="post-title" itemprop="name headline">
435435

436436

437437

438-
<h2id="Glide源码解析(一):加载流程"><ahref="#Glide源码解析(一):加载流程"class="headerlink"title="Glide源码解析(一):加载流程"></a>Glide源码解析(一):加载流程</h2><p>对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。</p>
438+
<p>对于 Glide 相信大家都不陌生,它是 Google 员工 bumptech 开源的一款图片加载框架,因为其简单易用的 API ,强大的功能,优秀的内存管理被 Google 官方所推荐并且被广泛运用在 Google 的开源项目中。目前 Glide 、Picasso 和 Fresco 都是比较主流图片加载框架。</p>
439439
<p>它们的使用场景基本都是重合的,而本人对 Glide 更为熟悉,所以选取 Glide 来进行深入学习,这系列文章作为学习的总结。选取的 Glide 版本是比较新的稳定版 3.7.0 。</p>
440440
<p>本篇是源码解析的开篇,主要分析 Glide 加载图片的基本流程。在后续的专题中再对缓存机制、生命周期监听等细节进行详细分析。</p>
441441
<aid="more"></a>
@@ -893,7 +893,7 @@ <h4 id="into"><a href="#into" class="headerlink" title="into"></a>into</h4><p>
893893

894894

895895

896-
<divclass="post-toc-content"><olclass="nav"><liclass="nav-item nav-level-2"><aclass="nav-link"href="#Glide源码解析(一):加载流程"><spanclass="nav-number">1.</span><spanclass="nav-text">Glide源码解析(一):加载流程</span></a><olclass="nav-child"><liclass="nav-item nav-level-3"><aclass="nav-link"href="#预热"><spanclass="nav-number">1.1.</span><spanclass="nav-text">预热</span></a></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#流程分析"><spanclass="nav-number">1.2.</span><spanclass="nav-text">流程分析</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#with"><spanclass="nav-number">1.2.1.</span><spanclass="nav-text">with</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#load"><spanclass="nav-number">1.2.2.</span><spanclass="nav-text">load</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#into"><spanclass="nav-number">1.2.3.</span><spanclass="nav-text">into</span></a></li></ol></li></ol></li></ol></div>
896+
<divclass="post-toc-content"><olclass="nav"><liclass="nav-item nav-level-3"><aclass="nav-link"href="#预热"><spanclass="nav-number">1.</span><spanclass="nav-text">预热</span></a></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#流程分析"><spanclass="nav-number">2.</span><spanclass="nav-text">流程分析</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#with"><spanclass="nav-number">2.1.</span><spanclass="nav-text">with</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#load"><spanclass="nav-number">2.2.</span><spanclass="nav-text">load</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#into"><spanclass="nav-number">2.3.</span><spanclass="nav-text">into</span></a></li></ol></li></ol></div>
897897

898898

899899
</div>

‎2017/05/08/Glide源码解析(二):缓存机制/index.html‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,20 +105,20 @@
105105

106106

107107

108-
<metaname="description"content="Glide源码解析(二):缓存机制本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
109-
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关">
108+
<metaname="description"content="本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
109+
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关的部分都是简单带过而没有进行深入分">
110110
<metaproperty="og:type"content="article">
111111
<metaproperty="og:title"content="Glide源码解析(二):缓存机制">
112112
<metaproperty="og:url"content="http://hefuyicoder.com/2017/05/08/Glide源码解析(二):缓存机制/index.html">
113113
<metaproperty="og:site_name"content="乌有先生的个人博客">
114-
<metaproperty="og:description"content="Glide源码解析(二):缓存机制本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
115-
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关">
114+
<metaproperty="og:description"content="本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
115+
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关的部分都是简单带过而没有进行深入分">
116116
<metaproperty="og:image"content="http://o8swcawjo.bkt.clouddn.com/%E7%BC%93%E5%AD%98%E6%B5%81%E7%A8%8B.png">
117-
<metaproperty="og:updated_time"content="2017-05-08T03:44:44.000Z">
117+
<metaproperty="og:updated_time"content="2017-05-08T03:48:22.000Z">
118118
<metaname="twitter:card"content="summary">
119119
<metaname="twitter:title"content="Glide源码解析(二):缓存机制">
120-
<metaname="twitter:description"content="Glide源码解析(二):缓存机制本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
121-
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关">
120+
<metaname="twitter:description"content="本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。
121+
从加载流程揭开缓存机制的面纱首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关的部分都是简单带过而没有进行深入分">
122122
<metaname="twitter:image"content="http://o8swcawjo.bkt.clouddn.com/%E7%BC%93%E5%AD%98%E6%B5%81%E7%A8%8B.png">
123123

124124

@@ -431,7 +431,7 @@ <h1 class="post-title" itemprop="name headline">
431431

432432

433433

434-
<h2id="Glide源码解析(二):缓存机制"><ahref="#Glide源码解析(二):缓存机制"class="headerlink"title="Glide源码解析(二):缓存机制"></a>Glide源码解析(二):缓存机制</h2><p>本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。</p>
434+
<p>本文是 Glide 源码分析系列的第二篇,主要通过分析源码总结 Glide 的缓存机制。</p>
435435
<h3id="从加载流程揭开缓存机制的面纱"><ahref="#从加载流程揭开缓存机制的面纱"class="headerlink"title="从加载流程揭开缓存机制的面纱"></a>从加载流程揭开缓存机制的面纱</h3><p>首先回忆一下上一篇关于 Glide 加载流程源码分析的内容,我们从 Glide.with().load().into() 这个最简单最基本的用法入手,一步步深入源码,梳理出了完整的图片加载流程。由于当时分析重点在于整体流程的把握上,所以对于缓存相关的部分都是简单带过而没有进行深入分析。首先是为了避免文章篇幅过长,其次因为缓存它不是独立的部分,它埋藏在整个加载流程的各个环节中,所以对缓存机制的理解应该建立在对整体流程清晰的把握上。</p>
436436
<p>而在本文中,我们将从整个加载流程入手,找出缓存相关的部分,进而还原出 Glide 缓存机制的整体面貌。然后再对各个部分进行详细分析。</p>
437437
<p>那么我们开始来看看加载流程中被我们错过的缓存操作。</p>
@@ -774,7 +774,7 @@ <h4 id="LRU-算法实现"><a href="#LRU-算法实现" class="headerlink" title="
774774

775775

776776

777-
<divclass="post-toc-content"><olclass="nav"><liclass="nav-item nav-level-2"><aclass="nav-link"href="#Glide源码解析(二):缓存机制"><spanclass="nav-number">1.</span><spanclass="nav-text">Glide源码解析(二):缓存机制</span></a><olclass="nav-child"><liclass="nav-item nav-level-3"><aclass="nav-link"href="#从加载流程揭开缓存机制的面纱"><spanclass="nav-number">1.1.</span><spanclass="nav-text">从加载流程揭开缓存机制的面纱</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#发起请求前"><spanclass="nav-number">1.1.1.</span><spanclass="nav-text">发起请求前</span></a></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#内存缓存"><spanclass="nav-number">1.2.</span><spanclass="nav-text">内存缓存</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#引用计数"><spanclass="nav-number">1.2.1.</span><spanclass="nav-text">引用计数</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#LruResourceCache"><spanclass="nav-number">1.2.2.</span><spanclass="nav-text">LruResourceCache</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#ActiveResources"><spanclass="nav-number">1.2.3.</span><spanclass="nav-text">ActiveResources</span></a></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#磁盘缓存"><spanclass="nav-number">1.3.</span><spanclass="nav-text">磁盘缓存</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#DiskLruCacheWrapper"><spanclass="nav-number">1.3.1.</span><spanclass="nav-text">DiskLruCacheWrapper</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存写入"><spanclass="nav-number">1.3.1.1.</span><spanclass="nav-text">缓存写入</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存读取"><spanclass="nav-number">1.3.1.2.</span><spanclass="nav-text">缓存读取</span></a></li></ol></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#DiskLruCache"><spanclass="nav-number">1.3.2.</span><spanclass="nav-text">DiskLruCache</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存构建"><spanclass="nav-number">1.3.2.1.</span><spanclass="nav-text">缓存构建</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存写入-1"><spanclass="nav-number">1.3.2.2.</span><spanclass="nav-text">缓存写入</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存读取-1"><spanclass="nav-number">1.3.2.3.</span><spanclass="nav-text">缓存读取</span></a></li></ol></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#BitmapPool"><spanclass="nav-number">1.4.</span><spanclass="nav-text">BitmapPool</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#复用策略"><spanclass="nav-number">1.4.0.1.</span><spanclass="nav-text">复用策略</span></a></li></ol></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#LRU-算法实现"><spanclass="nav-number">1.4.1.</span><spanclass="nav-text">LRU 算法实现</span></a></li></ol></li></ol></li></ol></div>
777+
<divclass="post-toc-content"><olclass="nav"><liclass="nav-item nav-level-3"><aclass="nav-link"href="#从加载流程揭开缓存机制的面纱"><spanclass="nav-number">1.</span><spanclass="nav-text">从加载流程揭开缓存机制的面纱</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#发起请求前"><spanclass="nav-number">1.1.</span><spanclass="nav-text">发起请求前</span></a></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#内存缓存"><spanclass="nav-number">2.</span><spanclass="nav-text">内存缓存</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#引用计数"><spanclass="nav-number">2.1.</span><spanclass="nav-text">引用计数</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#LruResourceCache"><spanclass="nav-number">2.2.</span><spanclass="nav-text">LruResourceCache</span></a></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#ActiveResources"><spanclass="nav-number">2.3.</span><spanclass="nav-text">ActiveResources</span></a></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#磁盘缓存"><spanclass="nav-number">3.</span><spanclass="nav-text">磁盘缓存</span></a><olclass="nav-child"><liclass="nav-item nav-level-4"><aclass="nav-link"href="#DiskLruCacheWrapper"><spanclass="nav-number">3.1.</span><spanclass="nav-text">DiskLruCacheWrapper</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存写入"><spanclass="nav-number">3.1.1.</span><spanclass="nav-text">缓存写入</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存读取"><spanclass="nav-number">3.1.2.</span><spanclass="nav-text">缓存读取</span></a></li></ol></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#DiskLruCache"><spanclass="nav-number">3.2.</span><spanclass="nav-text">DiskLruCache</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存构建"><spanclass="nav-number">3.2.1.</span><spanclass="nav-text">缓存构建</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存写入-1"><spanclass="nav-number">3.2.2.</span><spanclass="nav-text">缓存写入</span></a></li><liclass="nav-item nav-level-5"><aclass="nav-link"href="#缓存读取-1"><spanclass="nav-number">3.2.3.</span><spanclass="nav-text">缓存读取</span></a></li></ol></li></ol></li><liclass="nav-item nav-level-3"><aclass="nav-link"href="#BitmapPool"><spanclass="nav-number">4.</span><spanclass="nav-text">BitmapPool</span></a><olclass="nav-child"><liclass="nav-item nav-level-5"><aclass="nav-link"href="#复用策略"><spanclass="nav-number">4.0.1.</span><spanclass="nav-text">复用策略</span></a></li></ol></li><liclass="nav-item nav-level-4"><aclass="nav-link"href="#LRU-算法实现"><spanclass="nav-number">4.1.</span><spanclass="nav-text">LRU 算法实现</span></a></li></ol></li></ol></div>
778778

779779

780780
</div>

‎css/main.css‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ pre .javascript .function {
17051705
width:4px;
17061706
height:4px;
17071707
border-radius:50%;
1708-
background:#85ffd0;
1708+
background:#66fff7;
17091709
}
17101710
.links-of-blogroll {
17111711
font-size:13px;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp