<p dir="auto"><strong>Glide Version</strong>: 3.8.0</p>

<p dir="auto"><strong>Integration libraries</strong>: no</p>

<p dir="auto"><strong>Device/Android Version</strong>: All version</p>

<p dir="auto"><strong>Issue details / Repro steps / Use case background</strong>:<br>
Original file:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/10027821/17510811/05f3abd0-5e53-11e6-8f22-8a97d31571e7.gif"><img src="https://cloud.githubusercontent.com/assets/10027821/17510811/05f3abd0-5e53-11e6-8f22-8a97d31571e7.gif" alt="1000285" data-animated-image="" style="max-width: 100%;"></a><br>
Result:<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/10027821/17510888/5fa6563c-5e53-11e6-877c-dd3699b95ef2.gif"><img src="https://cloud.githubusercontent.com/assets/10027821/17510888/5fa6563c-5e53-11e6-877c-dd3699b95ef2.gif" alt="jdfw" data-animated-image="" style="max-width: 100%;"></a> <a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/10027821/17511177/5f6a9240-5e54-11e6-837d-03f996058fd0.png"><img src="https://cloud.githubusercontent.com/assets/10027821/17511177/5f6a9240-5e54-11e6-837d-03f996058fd0.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">I had upgraded to the latest version 3.8.0 but it`s not solved.</p>

<p dir="auto"><strong>Glide load line / <code class="notranslate">GlideModule</code> (if any) / list Adapter code (if any)</strong>:</p>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="               Glide.with(context)
                       .load(new GlideUrl(url, mHeader))
                       .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                       .error(error)
                      .placeholder(placeHolder)
                       .into(view);"><pre class="notranslate">               <span class="pl-smi">Glide</span>.<span class="pl-en">with</span>(<span class="pl-s1">context</span>)
                       .<span class="pl-en">load</span>(<span class="pl-k">new</span> <span class="pl-smi">GlideUrl</span>(<span class="pl-s1">url</span>, <span class="pl-s1">mHeader</span>))
                       .<span class="pl-en">diskCacheStrategy</span>(<span class="pl-smi">DiskCacheStrategy</span>.<span class="pl-c1">SOURCE</span>)
                       .<span class="pl-en">error</span>(<span class="pl-s1">error</span>)
                      .<span class="pl-en">placeholder</span>(<span class="pl-s1">placeHolder</span>)
                       .<span class="pl-en">into</span>(<span class="pl-s1">view</span>);</pre></div>

<p dir="auto"><strong>Layout XML</strong>:</p>
<div class="highlight highlight-text-xml notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&lt;ImageView
                        android:id=&quot;@+id/activity_personal_homepage_headgear&quot;
                        android:layout_width=&quot;145dp&quot;
                        android:layout_height=&quot;145dp&quot;
                        android:layout_gravity=&quot;center&quot;
                        /&gt;"><pre class="notranslate">&lt;<span class="pl-ent">ImageView</span>
                        <span class="pl-e">android</span><span class="pl-e">:</span><span class="pl-e">id</span>=<span class="pl-s"><span class="pl-pds">"</span>@+id/activity_personal_homepage_headgear<span class="pl-pds">"</span></span>
                        <span class="pl-e">android</span><span class="pl-e">:</span><span class="pl-e">layout_width</span>=<span class="pl-s"><span class="pl-pds">"</span>145dp<span class="pl-pds">"</span></span>
                        <span class="pl-e">android</span><span class="pl-e">:</span><span class="pl-e">layout_height</span>=<span class="pl-s"><span class="pl-pds">"</span>145dp<span class="pl-pds">"</span></span>
                        <span class="pl-e">android</span><span class="pl-e">:</span><span class="pl-e">layout_gravity</span>=<span class="pl-s"><span class="pl-pds">"</span>center<span class="pl-pds">"</span></span>
                        /&gt;</pre></div>

<p dir="auto"><strong>Stack trace / LogCat</strong>:</p>
<div class="highlight highlight-source-ruby notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="paste stack trace and/or log here"><pre class="notranslate"><span class="pl-en">paste</span> <span class="pl-en">stack</span> <span class="pl-en">trace</span> <span class="pl-k">and</span>/<span class="pl-en">or</span> <span class="pl-en">log</span> <span class="pl-en">here</span></pre></div>
<p dir="auto"><strong>Glide Version</strong>: 4.0.0.<br>
<strong>Integration libraries</strong>: okhttp3-integration</p>
<p dir="auto">I am experiencing strict mode crashes both on emulator and real devices on Android versions from 4.2 to 7.1. Issue looks similar to now closed ticket <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="233045232" data-permission-text="Title is private" data-url="https://github.com/bumptech/glide/issues/1996" data-hovercard-type="issue" data-hovercard-url="/bumptech/glide/issues/1996/hovercard" href="https://github.com/bumptech/glide/issues/1996">#1996</a>.</p>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="E/StrictMode: A resource was acquired at attached stack trace but never released.
See java.io.Closeable for information on avoiding resource leaks.
     java.lang.Throwable: Explicit termination method 'response.body().close()' not called
         at dalvik.system.CloseGuard.open(CloseGuard.java:184)
         at java.lang.reflect.Method.invokeNative(Native Method)
         at java.lang.reflect.Method.invoke(Method.java:525)
         at okhttp3.internal.platform.AndroidPlatform$CloseGuard.createAndOpen(AndroidPlatform.java:272)
         at okhttp3.internal.platform.AndroidPlatform.getStackTraceForCloseable(AndroidPlatform.java:138)
         at okhttp3.RealCall.captureCallStackTrace(RealCall.java:78)
         at okhttp3.RealCall.enqueue(RealCall.java:87)
         at com.bumptech.glide.integration.okhttp3.OkHttpStreamFetcher.loadData(OkHttpStreamFetcher.java:45)
         at com.bumptech.glide.load.engine.SourceGenerator.startNext(SourceGenerator.java:61)
         at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:282)
         at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:252)
         at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:222)
         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
         at java.lang.Thread.run(Thread.java:841)
         at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)"><pre class="notranslate"><span class="pl-s1">E</span>/<span class="pl-s1">StrictMode</span>: <span class="pl-s1">A</span> <span class="pl-smi">resource</span> <span class="pl-s1">was</span> <span class="pl-smi">acquired</span> <span class="pl-s1">at</span> <span class="pl-smi">attached</span> <span class="pl-s1">stack</span> <span class="pl-smi">trace</span> <span class="pl-s1">but</span> <span class="pl-smi">never</span> <span class="pl-s1">released</span>.
<span class="pl-s1">See</span> <span class="pl-smi">java</span>.<span class="pl-smi">io</span>.<span class="pl-smi">Closeable</span> <span class="pl-s1">for</span> <span class="pl-smi">information</span> <span class="pl-s1">on</span> <span class="pl-smi">avoiding</span> <span class="pl-s1">resource</span> <span class="pl-smi">leaks</span>.
     <span class="pl-smi">java</span>.<span class="pl-smi">lang</span>.<span class="pl-smi">Throwable</span>: <span class="pl-s1">Explicit</span> <span class="pl-s1">termination</span> <span class="pl-s1">method</span> <span class="pl-s">'response.body().close()'</span> <span class="pl-s1">not</span> <span class="pl-s1">called</span>
         <span class="pl-s1">at</span> <span class="pl-s1">dalvik</span>.<span class="pl-s1">system</span>.<span class="pl-s1">CloseGuard</span>.<span class="pl-en">open</span>(<span class="pl-smi">CloseGuard</span>.<span class="pl-smi">java</span>:<span class="pl-c1">184</span>)
         <span class="pl-smi">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">lang</span>.<span class="pl-s1">reflect</span>.<span class="pl-s1">Method</span>.<span class="pl-s1">invokeNative</span>(<span class="pl-smi">Native</span> <span class="pl-s1">Method</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">lang</span>.<span class="pl-s1">reflect</span>.<span class="pl-s1">Method</span>.<span class="pl-en">invoke</span>(<span class="pl-smi">Method</span>.<span class="pl-smi">java</span>:<span class="pl-c1">525</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">okhttp3</span>.<span class="pl-s1">internal</span>.<span class="pl-s1">platform</span>.<span class="pl-s1">AndroidPlatform$CloseGuard</span>.<span class="pl-en">createAndOpen</span>(<span class="pl-smi">AndroidPlatform</span>.<span class="pl-smi">java</span>:<span class="pl-c1">272</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">okhttp3</span>.<span class="pl-s1">internal</span>.<span class="pl-s1">platform</span>.<span class="pl-s1">AndroidPlatform</span>.<span class="pl-en">getStackTraceForCloseable</span>(<span class="pl-smi">AndroidPlatform</span>.<span class="pl-smi">java</span>:<span class="pl-c1">138</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">okhttp3</span>.<span class="pl-s1">RealCall</span>.<span class="pl-en">captureCallStackTrace</span>(<span class="pl-smi">RealCall</span>.<span class="pl-smi">java</span>:<span class="pl-c1">78</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">okhttp3</span>.<span class="pl-s1">RealCall</span>.<span class="pl-en">enqueue</span>(<span class="pl-smi">RealCall</span>.<span class="pl-smi">java</span>:<span class="pl-c1">87</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">integration</span>.<span class="pl-s1">okhttp3</span>.<span class="pl-s1">OkHttpStreamFetcher</span>.<span class="pl-en">loadData</span>(<span class="pl-smi">OkHttpStreamFetcher</span>.<span class="pl-smi">java</span>:<span class="pl-c1">45</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">load</span>.<span class="pl-s1">engine</span>.<span class="pl-s1">SourceGenerator</span>.<span class="pl-en">startNext</span>(<span class="pl-smi">SourceGenerator</span>.<span class="pl-smi">java</span>:<span class="pl-c1">61</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">load</span>.<span class="pl-s1">engine</span>.<span class="pl-s1">DecodeJob</span>.<span class="pl-en">runGenerators</span>(<span class="pl-smi">DecodeJob</span>.<span class="pl-smi">java</span>:<span class="pl-c1">282</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">load</span>.<span class="pl-s1">engine</span>.<span class="pl-s1">DecodeJob</span>.<span class="pl-en">runWrapped</span>(<span class="pl-smi">DecodeJob</span>.<span class="pl-smi">java</span>:<span class="pl-c1">252</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">load</span>.<span class="pl-s1">engine</span>.<span class="pl-s1">DecodeJob</span>.<span class="pl-en">run</span>(<span class="pl-smi">DecodeJob</span>.<span class="pl-smi">java</span>:<span class="pl-c1">222</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">util</span>.<span class="pl-s1">concurrent</span>.<span class="pl-s1">ThreadPoolExecutor</span>.<span class="pl-en">runWorker</span>(<span class="pl-smi">ThreadPoolExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">1080</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">util</span>.<span class="pl-s1">concurrent</span>.<span class="pl-s1">ThreadPoolExecutor$Worker</span>.<span class="pl-en">run</span>(<span class="pl-smi">ThreadPoolExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">573</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">java</span>.<span class="pl-s1">lang</span>.<span class="pl-s1">Thread</span>.<span class="pl-en">run</span>(<span class="pl-smi">Thread</span>.<span class="pl-smi">java</span>:<span class="pl-c1">841</span>)
         <span class="pl-s1">at</span> <span class="pl-s1">com</span>.<span class="pl-s1">bumptech</span>.<span class="pl-s1">glide</span>.<span class="pl-s1">load</span>.<span class="pl-s1">engine</span>.<span class="pl-s1">executor</span>.<span class="pl-s1">GlideExecutor$DefaultThreadFactory$1</span>.<span class="pl-en">run</span>(<span class="pl-smi">GlideExecutor</span>.<span class="pl-smi">java</span>:<span class="pl-c1">347</span>)</pre></div>
<p dir="auto">This happens a lot when fast-scrolling recycler view.<br>
My RecyclerView.Adapter is simple:</p>
<div class="highlight highlight-source-java notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="final GlideRequests glideRequests = GlideApp.with(fragment);
// glideRequests is instance variable of adapter

@Override
public void onBindViewHolder(final ProductViewHolder holder, final int position) {
    glideRequests.asBitmap()
                 .priority(Priority.NORMAL)
                 .diskCacheStrategy(DiskCacheStrategy.ALL)
                 .centerCrop()
                 .thumbnail(0.25f)
                 .placeholder(R.drawable.placeholder)
                 .load(product)
                 .into(holder.cover);
}

@Override
public void onViewRecycled(final ProductViewHolder holder) {
     super.onViewRecycled(holder);
     glideRequests.clear(holder.cover);
}"><pre class="notranslate"><span class="pl-k">final</span> <span class="pl-smi">GlideRequests</span> <span class="pl-s1">glideRequests</span> = <span class="pl-smi">GlideApp</span>.<span class="pl-en">with</span>(<span class="pl-s1">fragment</span>);
<span class="pl-c">// glideRequests is instance variable of adapter</span>

<span class="pl-c1">@</span><span class="pl-c1">Override</span>
<span class="pl-k">public</span> <span class="pl-smi">void</span> <span class="pl-s1">onBindViewHolder</span>(<span class="pl-k">final</span> <span class="pl-smi">ProductViewHolder</span> <span class="pl-s1">holder</span>, <span class="pl-k">final</span> <span class="pl-smi">int</span> <span class="pl-s1">position</span>) {
    <span class="pl-s1">glideRequests</span>.<span class="pl-en">asBitmap</span>()
                 .<span class="pl-en">priority</span>(<span class="pl-smi">Priority</span>.<span class="pl-c1">NORMAL</span>)
                 .<span class="pl-en">diskCacheStrategy</span>(<span class="pl-smi">DiskCacheStrategy</span>.<span class="pl-c1">ALL</span>)
                 .<span class="pl-en">centerCrop</span>()
                 .<span class="pl-en">thumbnail</span>(<span class="pl-c1">0.25f</span>)
                 .<span class="pl-en">placeholder</span>(<span class="pl-smi">R</span>.<span class="pl-s1">drawable</span>.<span class="pl-s1">placeholder</span>)
                 .<span class="pl-en">load</span>(<span class="pl-s1">product</span>)
                 .<span class="pl-en">into</span>(<span class="pl-s1">holder</span>.<span class="pl-s1">cover</span>);
}

<span class="pl-c1">@</span><span class="pl-c1">Override</span>
<span class="pl-k">public</span> <span class="pl-smi">void</span> <span class="pl-s1">onViewRecycled</span>(<span class="pl-k">final</span> <span class="pl-smi">ProductViewHolder</span> <span class="pl-s1">holder</span>) {
     <span class="pl-en">super</span>.<span class="pl-en">onViewRecycled</span>(<span class="pl-s1">holder</span>);
     <span class="pl-s1">glideRequests</span>.<span class="pl-en">clear</span>(<span class="pl-s1">holder</span>.<span class="pl-s1">cover</span>);
}</pre></div>