栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

图像未在本地缓存(使用通用图像加载器)-缓慢的图像加载时间

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图像未在本地缓存(使用通用图像加载器)-缓慢的图像加载时间

我在列表视图中遇到了类似的图像问题。此答案可能会纠正您的错误图像问题。

我刚刚使用UniversalImageLoader下载了示例项目,它表现出与您描述的相同的行为。

到目前为止,要注意一些源代码。

public static final int DEFAULT_THREAD_POOL_SIZE = 3;public static final int DEFAULT_THREAD_PRIORITY = Thread.NORM_PRIORITY - 1;public static final int DEFAULT_MEMORY_CACHE_SIZE = 2 * 1024 * 1024; // bytes

这表示在任何时候都将有三个线程下载,最大2MB的图像。您要下载的图片有多大?您还在缓存到磁盘吗?如果是这样,那将会很慢。

要在ImageLoader中配置一些基本选项,您将需要传递给displayImage:

 DisplayImageOptions options = new DisplayImageOptions.Builder()     .showStubImage(R.drawable.stub_image)     .cacheInMemory()     .cacheonDisc()     .build();

我也希望您尝试以下选项:

ImageLoaderConfiguration imageLoaderConfiguration = new ImageLoaderConfiguration.Builder(this)    .enableLogging()    .memoryCacheSize(41943040)    .discCacheSize(104857600)    .threadPoolSize(10)    .build();imageLoader = ImageLoader.getInstance();imageLoader.init(imageLoaderConfiguration);

经过我的测试,图像在磁盘上,但是加载仍然很慢。

经过广泛的测试,我确定了主要问题是UniversalImageLoader速度很慢。具体来说,ImageLoader和LoadAndDisplayImageTask阻止了工作。我(很快)将LoadAndDisplayImageTask重写为AsyncTask,它立即表现更好。您可以在GitHub上下载代码的分支版本。

带有AsyncTasks的通用图像加载器



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/446674.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号