小编Kat*_*mas的帖子

如何在 Glide 中缓存图像

当我使用 glide 时,某些图像无法加载。我如何将它存储在缓存中或任何地方,直到我使用该应用程序加载所有图像。我的问题的示例图片:

截屏

我的代码:

.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);
Run Code Online (Sandbox Code Playgroud)

.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" />
Run Code Online (Sandbox Code Playgroud)

我使用 glide 是因为我发现它很容易使用,而且我可以从 drawable 加载图像。主要问题是,它是随机执行的,所以我的意思是,一旦我的所有图像都没有出现,另一次所有图像都可以看到,但我不知道为什么。我使用 980x1550 大小的图像,因为我不希望我的图像充满像素,当我在 .xml 中使用另一种方法(如 src)时,出现内存错误。所以有人知道任何解决方案,我如何缓存图像?

编辑: 有了这些 (.diskCacheStrategy(DiskCacheStrategy.RESULT ; diskCacheStrategy(DiskCacheStrategy.Source) 我有同样的问题。我从 LogCat: Throwing OutOfMemoryError "Failed to allocate a 1519012 byte allocation with 230112 free bytes and 224KB until OOM" 和我不知道如何,何时应该缓存它。

android caching image

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

android ×1

caching ×1

image ×1