【发布时间】:2018-06-17 12:39:50
【问题描述】:
当我使用滑行时,有些图像无法加载。我怎样才能将它存储在缓存中或任何地方,当我使用该应用程序时,我的所有图像都会加载。 我的问题的示例图片:
我的代码:
.java
home_ib7_monster_truck =
(ImageButton)findViewById(R.id.home_ib7_monster_truck);
Glide.with(Home.this)
.load(R.drawable.moviep_monster_truck)
.centerCrop()
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(home_ib7_monster_truck);
.xml
<ImageButton
android:id="@+id/home_ib7_monster_truck"
android:layout_width="98dp"
android:layout_height="155dp"
android:layout_alignStart="@+id/home_ib4_keplers_dream"
android:layout_below="@+id/home_ib4_keplers_dream"
android:layout_marginTop="14dp"
android:background="@android:color/transparent"
android:scaleType="fitCenter" />
我使用 glide 是因为我看到它很容易使用,而且我可以从 drawables 中加载图像。 主要问题是,它是随机执行的,所以我的意思是一旦我的所有图像都没有出现,另一次所有图像都可以看到,我不知道为什么。 我使用 980x1550 大小的图像,因为我不希望我的图像充满像素,当我在 .xml 中使用另一种方法(如 src)时出现内存错误。 所以有人知道任何解决方案,我该如何缓存图像?
编辑: 有了这些 (.diskCacheStrategy(DiskCacheStrategy.RESULT ; diskCacheStrategy(DiskCacheStrategy.Source) 我有同样的问题。 我从 LogCat 得到这个:抛出 OutOfMemoryError “无法分配 1519012 字节分配,230112 空闲字节和 224KB 直到 OOM” 我不知道应该如何缓存它。
【问题讨论】:
-
发布 Glide 日志,以便我们知道图像加载失败的原因