我有一个应用程序,可以从数据库加载内容以及来自互联网的图像.我使用的是RecyclerView沿着CardView来显示我的列表形式的内容.
每行左侧有一个图像,右侧有文本.问题是文本加载速度很快但图像需要时间加载,所以我希望图像继续在后台加载,然后在ImageView加载完成后加载到对象中.我不知道如何解决这个问题.
服务端提供了通过 Post 请求加载图片的 API,其正文看起来像
{
"image_id": someId,
"session_id": "someId"
}
Run Code Online (Sandbox Code Playgroud)
响应 - 流。我使用了diskCacheStrategyAppGlideModule库,库4.1.1的版本.这是我的滑行模块类:
@GlideModule
public class GlideUtil extends AppGlideModule {
private final int IMAGE_CACHE_SIZE = 20 * 1024 * 1024; // 20 MB
private final String IMAGE_FOLDER = "/User/Images";
@Override
public void applyOptions(Context context, GlideBuilder builder) {
RequestOptions requestOptions = new RequestOptions();
requestOptions.format(DecodeFormat.PREFER_ARGB_8888);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL);
builder.setDefaultRequestOptions(requestOptions);
InternalCacheDiskCacheFactory factory = new InternalCacheDiskCacheFactory(context, IMAGE_FOLDER, IMAGE_CACHE_SIZE);
builder.setDiskCache(factory);
}
@Override
public boolean isManifestParsingEnabled() {
return false;
}
Run Code Online (Sandbox Code Playgroud)
此代码成功运行.但是当我将滑动库的版本更新到4.3.1时
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
Run Code Online (Sandbox Code Playgroud)
在GlideUtil类中,我看到了消息:"未使用格式的结果","未使用diskCacheStrategy的结果":
那么,如何解决这个问题呢?那些方法format和diskCacheStrategy工作是否适用于format4.3.1?
我想知道是否有办法拦截浏览器的图像加载请求并添加服务器期望的一些请求标头.
实际情况是这样的.Web应用程序将XHR发送到服务器并完成身份验证握手.所有后续请求都必须包含auth标头.图像被破坏是因为浏览器不发送图像请求的标题.
提前致谢.
我有tableView,需要从URL加载图像.我有一个包含图像URL的数组,当页面加载时我需要将所有图像加载到tableview中.请注意,不是来自单个URL,而是具有不同URL的数组.我该如何实现呢?请帮忙
谢谢.
是否可以从下到上加载图像?
假设我有一个很长很长的图像,需要60秒才能加载.内容可以从下到上阅读,我可以做任何事情使浏览器从下到上加载我的图像,以便用户可以在图像加载时读取它吗?
谢谢,
这是一个与这个问题相关的有趣的" AAAAAND ITS GONE "模因.

感谢所有回答我问题的人,以下是我总结的一些解决方案:
翻转图像,然后显示-webkit-transform: scaleY(-1);
使用BMP格式,这种方式浏览器将"向上"加载图像,但BMP不是保存大图像的好文件类型,但它仍然是一个很好的尝试,因为您不需要在服务器端翻转图像.
(请禁用缓存以查看演示中的加载)
我正在尝试显示设备上找到的歌曲列表,这些歌曲直接从MediaStore请求数据.我正在使用一个RecyclerView和一个使用a CursorAdapter来从MediaStore获取数据的适配器.onBindViewHolder调用适配器时,请求将传递给所有可视元素设置的bindView函数CursorAdapter.
public class ListRecyclerAdapter3 extends RecyclerView.Adapter<ListRecyclerAdapter3.SongViewHolder> {
// PATCH: Because RecyclerView.Adapter in its current form doesn't natively support
// cursors, we "wrap" a CursorAdapter that will do all teh job
// for us
public MediaStoreHelper mediaStoreHelper;
CustomCursorAdapter mCursorAdapter;
Context mContext;
public class SongViewHolder extends RecyclerView.ViewHolder {
public TextView textItemTitle;
public TextView textItemSub;
public ImageView imgArt;
public int position;
public String album_id;
public String path_art;
public String path_file;
public SongViewHolder(View v) …Run Code Online (Sandbox Code Playgroud) 我知道这个链接,并尝试过,但这适用于 Glide V3 解决方案,我需要加载https://myimage/image/xxx.png但 glide 抛出异常
FileNotFoundException(No content provider)** and **SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found
Run Code Online (Sandbox Code Playgroud)
我正在使用 4.5.0 Glide 版本,我花了很多时间但找不到任何解决方案,任何帮助将不胜感激。
我是Flutter的新手.我尝试使用image.network小部件加载网络图像.它工作正常,但有时需要时间来加载.image.network我在点击期间添加了点击监听器我需要检查图像是否完全加载或不基于我需要重定向页面的结果.如何检查图像是否加载?
码:
new Image.network('http://via.placeholder.com/350x150')
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢你提前
我正在尝试为我的Flutter应用定义一些资产.
这是我的目录结构:
- lib
- assets
- images
? bg_login.png <-- this one is 400x800px
? 2.0x
? bg_login.png <-- this one is 800x1600px.
- test
- ios
- android
- build
- pubspec.yaml
Run Code Online (Sandbox Code Playgroud)
这是我的pubspec文件(缩进为2个空格):
name: my_app
description: My App
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter:
uses-material-design: true
assets:
- assets/images/bg_login.png
Run Code Online (Sandbox Code Playgroud)
我加载图像:
new Positioned(
top: 0.0,
width: MediaQuery.of(context).size.width,
child: Image.asset(
"assets/images/bg_login.png",
fit: BoxFit.fitWidth,
)
)
Run Code Online (Sandbox Code Playgroud)
有时图像会加载,有时它会因此错误而失败:
Launching lib\main.dart on Android SDK built for x86 in …Run Code Online (Sandbox Code Playgroud) image-loading ×10
android ×6
browser ×2
flutter ×2
javascript ×2
css ×1
dart ×1
html ×1
http-headers ×1
iphone ×1
java ×1
picasso ×1
scroll ×1
uitableview ×1
url ×1
widget ×1