在我本机android中的SDK示例应用程序中,使用Glide库按如下方式加载图像。
private void updateProfilePhoto(BadgeUIEntity badgeUIEntity) {
String profilePhotoChecksum = badgeUIEntity.profilePhotoChecksum();
String profilePhotoUrl = badgeUIEntity.profilePhotoUrl();
if (profilePhotoChecksum != null && !TextUtils.isEmpty(profilePhotoUrl)) {
try {
RequestOptions requestOptions = RequestOptions.signatureOf(new ObjectKey(profilePhotoChecksum));
Glide.with(this)
.applyDefaultRequestOptions(requestOptions)
.load(profilePhotoUrl).into(ivProfilePhoto);
} catch (Exception e) {
Timber.v(e);
}
}}
如何在抖动中渲染相同的图像? 我不知道如何在Flutter中处理此校验和。
答案 0 :(得分:1)
cached_network_image
相当于Flutter的Glide或Picasso。
它将使用默认的缓存逻辑,但是如果您愿意,可以将自己的CacheManager
传递给它。我不确定为什么需要校验和,但是我认为这与缓存管理有关。
答案 1 :(得分:0)
您可以使用名为Optimized Cached Image的它来从网络加载图像,调整大小并对其进行缓存以提高内存敏感性。这将根据父容器的约束调整图像大小并将其存储在缓存中,从而将较小尺寸的图像加载到内存中。这在很大程度上受到cached network image库的启发。
该库公开了两个用于加载图像的类
OptimizedCacheImage
,是CachedNetworkImage
的1:1映射。
OptimizedCacheImageProvider
,它是CachedNetworkImageProvider
的映射。