Inside my RecyclerView
‚s Reihe habe ich ein ImageView
und ich möchte diese ImageView
in der Vorschau anzeigen‘ auf der gleichen Aktivität (Vollbild-Vorschau)UI Einfrieren während Bild in Image zeigt
und dass ich tue das Image Dieser:
public void showImageZoomable(String imageURL) {
imageViewZoomable.setVisibility(View.VISIBLE);
DisplayImageOptions options = new DisplayImageOptions.Builder().cacheOnDisk(true).build();
imageLoader.loadImage(imageURL , options, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
imageViewZoomable.setImage(ImageSource.bitmap(loadedImage));
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
}
});
toolBar.setVisibility(View.GONE);
getActivity().findViewById(R.id.tabs).setVisibility(View.GONE);
}
die obige Funktion ausgelöst wird, wenn der Benutzer auf ImageView
Abgriffe (die auf Recyclerview
‚s Zeile), und es führt den URL des Bildes (imag e ist bereits zwischengespeichert) und weist sie imageViewZoomable
mit imageLoader Bibliothek
es funktioniert gut, aber der ganze Prozess ist etwas langsam und laggy
eine Ahnung, wie kann ich es verbessern ?? oder die Art und Weise ich tue es nicht effizient ist, dann bitte machen Sie mir eine bessere Alternative
1. Sie sollten die ImageLoader- und DisplayImageOptions-Instanz nur einmal deklarieren. 2. Verwenden Sie loadImage und deklarieren Sie DisplayImageOptions in der Recyclerview-Zeile (viewHolder-Adapter), damit RecyclerView langsam ausgeführt wird. Wenn Sie 'imageImage' von imageLoader nicht verwenden können, können Sie auch andere Bibliotheken wie' Picasso' oder 'Glide' ausprobieren, usw. –