解决Fresco缓存查询异常问题
This commit is contained in:
@ -165,6 +165,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe
|
||||
int position = mViewPager.getCurrentItem();
|
||||
Object object = mViewPager.findViewWithTag(position);
|
||||
if (object != null) {
|
||||
mProgressHint.setWidth(mProgressHint.getWidth());
|
||||
RelativeLayout view = (RelativeLayout) object;
|
||||
final ZoomSimpleDraweeView draweeView = view.findViewById(R.id.viewimage_iv_show);
|
||||
draweeView.getHierarchy().setProgressBarImage(new EmptyDrawable(progress -> {
|
||||
@ -213,12 +214,17 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe
|
||||
mSlideLine.setLayoutParams(rparams);
|
||||
mProgressHint.setVisibility(View.GONE);
|
||||
} else {
|
||||
ImageInfoEntity imageInfoEntity = mImageInfoMap.get(urls.get(position));
|
||||
if (imageInfoEntity != null && imageInfoEntity.getFileSize() != null) {
|
||||
String url = urls.get(position);
|
||||
ImageInfoEntity imageInfoEntity = mImageInfoMap.get(url);
|
||||
if (imageInfoEntity != null && imageInfoEntity.getFileSize() != null &&
|
||||
!mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url))) {
|
||||
String size = String.format(Locale.CHINA, "%.1fM",
|
||||
Integer.valueOf(imageInfoEntity.getFileSize().getValue()) / 1024F / 1024F);
|
||||
mProgressHint.setVisibility(View.VISIBLE);
|
||||
mProgressHint.setText(("查看原图(" + size + ")"));
|
||||
ViewGroup.LayoutParams layoutParams = mProgressHint.getLayoutParams();
|
||||
layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
|
||||
mProgressHint.setLayoutParams(layoutParams);
|
||||
}
|
||||
}
|
||||
|
||||
@ -275,7 +281,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe
|
||||
.build();
|
||||
imageView.setController(controller);
|
||||
} else {
|
||||
ImageUtils.display(imageView, url);
|
||||
imageView.setImageURI(url); // 加载原图
|
||||
}
|
||||
|
||||
}
|
||||
@ -297,7 +303,7 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe
|
||||
Gh_RelativeLayout view = (Gh_RelativeLayout) View.inflate(container.getContext(), R.layout.viewimage_normal_item, null);
|
||||
ZoomSimpleDraweeView imageView = view.findViewById(R.id.viewimage_iv_show);
|
||||
|
||||
if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(url)) || url.contains(".gif")) {
|
||||
if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url)) || url.contains(".gif")) { // NetworkUtils.isWifiOr4GConnected(ViewImageActivity.this)
|
||||
loadImage(url, imageView);
|
||||
} else {
|
||||
ImageUtils.addLimitWidthAndLoad(imageView, url, mLimitWidth, imageInfo -> {
|
||||
@ -350,9 +356,9 @@ public class ViewImageActivity extends BaseActivity implements OnPageChangeListe
|
||||
String limitUrl = ImageUtils.addLimitWidth(urls.get(mViewPager.getCurrentItem()), mLimitWidth);
|
||||
String targetUrl = null;
|
||||
|
||||
if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(url))) {
|
||||
if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(url))) {
|
||||
targetUrl = url;
|
||||
} else if (mImagePipeline.isInBitmapMemoryCache(Uri.parse(limitUrl))) {
|
||||
} else if (mImagePipeline.isInBitmapMemoryCache(ImageRequest.fromUri(limitUrl))) {
|
||||
targetUrl = limitUrl;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user