Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.view.View;

import com.donkingliang.imageselectdemo.adapter.ImageAdapter;
Expand All @@ -21,6 +20,7 @@
public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private static final int REQUEST_CODE = 0x00000011;

private static final int PERMISSION_WRITE_EXTERNAL_REQUEST_CODE = 0x00000012;

private RecyclerView rvImage;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ public void onBindViewHolder(final ViewHolder holder, int position) {
if (getItemViewType(position) == TYPE_IMAGE) {
final Image image = getImage(position);
Glide.with(mContext).load(isAndroidQ ? image.getUri() : image.getPath())
.apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
.skipMemoryCache(true)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.apply(new RequestOptions().override(200,200))
.into(holder.ivImage);

setItemSelect(holder, mSelectImages.contains(image));
Expand Down Expand Up @@ -105,6 +107,18 @@ public void onClick(View v) {
});
}
}

//清理已经看不到的ImageView
@Override
public void onViewRecycled(@NonNull ViewHolder holder) {
super.onViewRecycled(holder);
if (getItemViewType(holder.getAdapterPosition()) == TYPE_IMAGE) {
ImageView imageView = holder.ivImage;
if (imageView != null) {
Glide.with(mContext).clear(imageView);
}
}
}

@Override
public int getItemViewType(int position) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.v4.content.ContextCompat;

import com.donkingliang.imageselector.R;
import com.donkingliang.imageselector.entry.Folder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ImageUtil {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import android.view.WindowManager;

public class ClipImageView extends AppCompatImageView {

private PointF mDownPoint;
private PointF mMiddlePoint;
private Matrix mMatrix;
Expand Down Expand Up @@ -338,4 +337,5 @@ public static int getScreenHeight(Context context) {
wm.getDefaultDisplay().getMetrics(outMetrics);
return outMetrics.heightPixels;
}

}