4

firebaseバックエンドからイメージをダウンロードする必要があるアンドロイドアプリで作業していますが、リサイラビューで5〜6イメージをダウンロードして表示した後、メモリ不足例外がスローされます。 。picassoを使用してfirebase storageからイメージをダウンロードする:メモリ不足例外

私は画像圧縮ライブラリを使用しています。これは、各画像のサイズが300〜400 KB近くになるためです。

私は<application android:largeHeap="true"を追加したが、それでも同じ問題が

私のコードがある:この問題を解決するためにどのように例外 enter image description here

//Retriving image from picasso 
      Picasso.Builder builder = new Picasso.Builder(c); 
      builder.listener(new Picasso.Listener() { 
       @Override 
       public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) { 
        Toast.makeText(c,exception.getMessage(),Toast.LENGTH_LONG).show(); 
       } 
      }); 
      Picasso pic = builder.build(); 
      pic.load(currentPost.getDownloadlinkDB()).into(((MyViewHolder_Image) holder).imageView, new Callback() { 
       @Override 
       public void onSuccess() { 

       } 

       @Override 
       public void onError() { 
        Toast.makeText(c, "Problem in downloading image from server", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

スナップショットは?

+0

与える 'Glide'試してみます。これは、オリジナルではなくリサイズされたイメージを格納し、RGB565を使用します。 – Wizard

+0

イメージサイズ(KB)はまったく重要ではありません。決議のみが重要です。 –

答えて

2

マニフェストファイルにこれを追加します。アプリケーションタグ内の

<application 
    android:largeHeap="true" 
+0

これは既に追加されていますが、2つの画像のダウンロードが増えるだけですが、それだけでは不十分です。 –

+0

ピカソのキャッシュサイズを増やそうとしました –

+1

Picasso p = new Picasso.Builder(context) .memoryCache(new LruCache(24000)) .build(); –