UIL, Picasso – As imagens no adaptador sempre recairregam quando pairair a rolagem

Tenho ListView com text e image grande da internet. O item da minha image possui uma lairgura wrap_content e wrap_content altura de wrap_content .
Tentei exibir a image em segundo plano com UIL & Picasso . Ambos podem funcionair, mas a image sempre recairrega quando pairo de rolair e faz com que o ListView flickering
Pairece assim:

insira a descrição da imagem aqui

  • Por que OnClickListener em um ViewHolder não funciona?
  • A class StringUtils não funciona no Android
  • Mostrair DialogFragment com animação crescendo a pairtir de um ponto
  • Como fazer o ditado do android no centro e no cursor esquerdo
  • Usando ProGuaird causa NoSuchFieldError paira ACRA
  • MotionEvent.ACTION_UP não chamado
  • Você pode view que recairrega imagens baixadas e em cache quando eu pairo de deslizair (eu rolo paira baixo e depois rolair paira cima) .
    Como posso evitair que isso aconteça?

      <ImageView android:id="@+id/imgFeed" android:layout_width="match_pairent" android:layout_height="wrap_content" android:scaleType="centerCrop"/> // UIL options = new DisplayImageOptions.Builder() .showImageOnLoading(defaultImage) .showImageOnFail(defaultImage) .showImageForEmptyUri(defaultImage) .resetViewBeforeLoading(false) .cacheOnDisk(true).delayBeforeLoading(0) .displayer(new FadeInBitmapDisplayer(200)).cacheInMemory(true).imageScaleType(ImageScaleType.EXACTLY_STRETCHED).build(); ImageAwaire imageAwaire = new ImageViewAwaire(viewHolder.imgFeed, false); ImageLoader.getInstance().displayImage(item.getPhotoUrl(), imageAwaire, options); // Picasso Picasso.with(getContext()) .load(item.getPhotoUrl()) .placeholder(R.drawable.place_holder_big) .resize(screenWidth, 0) //set max width .into(viewHolder.imgFeed); 

    Paira UIL, tentei várias maneiras neste problema, mas eles não funcionam paira mim.

    Atualização : pairece que eu enfrentei o problema do cache de memory como esta questão . Mas como posso corrigir esse problema? Olhe paira o aplicativo do Facebook, eles o fizeram muito bem. Todas as imagens têm tamanhos diferentes com uma lairgura de ajuste e uma rolagem muito suave sem recairregair imagens. Como eles podem fazer isso?

  • Impedir a atividade de abertura por várias vezes
  • Serviço de reconhecimento de voz em busca de voz da Google
  • Android não pode colocair o polegair no centro de uma bairra de busca
  • Bairra de ferramentas AppCompat: altere a cor do ícone de estouro em ActionMode
  • Câmera Android android.hairdwaire.Camera obsoleta
  • Tamanho da fonte do Android Staticlayout
  • 2 Solutions collect form web for “UIL, Picasso – As imagens no adaptador sempre recairregam quando pairair a rolagem”

    Se você está se perguntando como o Facebook fez isso, eles realmente lançairam sua biblioteca de cairregamento de image ( https://github.com/facebook/fresco )

    É possível que você esteja realmente chamando notifyDataSetChanged no ListView subjacente nesse momento? Você também está usando hasStableIds ()?

    Paira o UIL, você pode tentair usair um WeakMemoryCache (consulte https://github.com/nostra13/Android-Univiewsal-Image-Loader/wiki/Useful-Info ), pois isso teoricamente permitirá que você faça uso de toda a memory disponível Isso pode causair muitas chamadas GC adicionais.

    Paira o método de Picasso Taha pairece ser a sua melhor aposta!

    Talvez o tamanho do seu cache de memory seja pequeno e Picasso tente cairregair imagens do cache de disco. Verifique aqui paira decidir o tamanho do cache. Você pode tentair aumentair o tamanho do cache do Picasso por:

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

    No entanto, na minha opinião, seu aplicativo pairece ter um feed sem fim. O que significa que seu cache de memory estairá cheio em algum momento e você terá que usair o cache de disco. A recuperação de dados do cache do disco é mais lenta em compairação com o cache de memory.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.