Tsudzukeru
@Tsudzukeru

Как ускорить загрузку картинки используя Picasso?

Есть RecyclerView, который грузит thumbnails используя Picasso.
Пример tumbnail. Как видите картинка не большая, но грузится достаточно медленно.
Пробовал сделать resize(), noFade() - не помогает.
Что можно еще сделать, чтобы увеличить скорость загрузки?

Код ViewHolder:
inner class MediaPreviewViewHolder(view: View) : RecyclerView.ViewHolder(view) {
        val mediaPreviewImageView: ImageView =
            view.findViewById(R.id.media_preview_recycler_view_image)
        val playVideoImageView: ImageView = view.findViewById(R.id.play_video_image_view)
        val playAudioImageView: ImageView = view.findViewById(R.id.play_audio_image_view)
        val descriptionTextView: TextView = view.findViewById(R.id.description_text_view)
        val dateCreatedTextView: TextView = view.findViewById(R.id.date_created_text_view)
        val divider: View = view.findViewById(R.id.divider)

        fun bind(mediaPreview: MediaPreview, hideDivider: Boolean) {
            descriptionTextView.text = mediaPreview.description
            dateCreatedTextView.text = mediaPreview.dateCreated
            divider.visibility = View.VISIBLE
            if (hideDivider) {
                divider.visibility = View.INVISIBLE
            }
            when (mediaPreview.mediaType) {
                ContentType.IMAGE -> {
                    picasso
                        .load(mediaPreview.previewUrl)
                        .fit()
                        .centerCrop()
                        .into(mediaPreviewImageView)
                    playVideoImageView.visibility = View.GONE
                    playAudioImageView.visibility = View.GONE
                }
                ContentType.VIDEO -> {
                    picasso
                        .load(mediaPreview.previewUrl)
                        .fit()
                        .centerCrop()
                        .into(mediaPreviewImageView);
                    playVideoImageView.visibility = View.VISIBLE
                    playAudioImageView.visibility = View.GONE

                }
                ContentType.AUDIO -> {
                    mediaPreviewImageView.setImageResource(android.R.color.black)
                    playVideoImageView.visibility = View.GONE
                    playAudioImageView.visibility = View.VISIBLE
                }
            }
        }
    }
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы