Android Bild effizient in Bildansicht laden

Ich habe das nächste Problem: Um OutOfMemoryError zu vermeiden, lade ich meine großen Bilder mit Picasso auf folgende Weise in ImageViews:

public static RequestCreator picasso(final Context context, final int resourceId) {
    return Picasso.with(context)
            .load(resourceId)
            .fit()
            .centerCrop()
            .noFade();
}

Und in Aktivität oder Fragment lade ich Bild in ImageView

final ImageView backgroundImage = (ImageView) root.findViewById(R.id.background_image);
Util.picasso(getActivity(),R.drawable.background_soulmap)
            .into(backgroundImage);

Allerdings habe ich zwei Probleme:

Bild lädt mit einiger Verzögerung (aber ich muss es sofort laden)

centerCrop () ist nicht das, was ich in einigen Fällen brauche.

Wie kann ich so etwas wie topCrop () oder bottomCrop () implementieren? Ich habe es versuchthttps: //github.com/cesards/CropImageVie Bibliothek, aber ich bekomme NullPointerException in setFrame () -Methode (getDrawable () gibt null zurück), weil Bild noch nicht geladen wurde. Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage