像应用程序这样的图库中的内存不足问题

Out of Memory issue in a gallery like application

我正在尝试创建一个包含大量来自网络的图像的应用程序 services.I 我正在使用 Picasso 库将图像加载到图库中,例如 [=13] =]RecyclerView 延迟加载并将 URL 的列表传递给滑块 activity 和 ViewPager 我正在处理很多图像,所以在几次之后幻灯片开始抛出 Out of Memory(OOM) exception.I 已经尝试使用 Glide 它正在拉伸图像所以我坚持使用 Picasso.Tried 很多方法,比如使用大堆和允许硬件 access.Any 方法来 identifyhandle 这个问题会很有帮助。

Picasso.with(context)
        .load(image.getImageURL())
        .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
        .skipMemoryCache()
        .placeholder(R.drawable.poster_default)
        .error(R.drawable.poster_default)
        .into(mImageView);

Android 对图像使用位图,这意味着添加大图像将消耗大量内存。我在我的项目中所做的是将 fit() 添加到 Picasso 调用中,这样它会为我调整图像大小,而不是将其全尺寸加载到内存中。

尝试下面的操作,看看它是否已修复

 Picasso.with(context)
    .load(image.getImageURL())
    .fit()
    .centerCrop()
    .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
    .skipMemoryCache()
    .placeholder(R.drawable.poster_default)
    .error(R.drawable.poster_default)
    .into(mImageView);

同意前面的回答。您也可以尝试使用 RGB_565 配置。此配置的图像小两倍

Picasso picasso = new Picasso.Builder(this)
                .defaultBitmapConfig(Bitmap.Config.RGB_565)
                .build();

并将此实例设置为毕加索

Picasso.setSingletonInstance(picasso);

代码段应该放在android.app.Applicationclass

中的onCreate方法中