将图像从 SD 卡加载到视图中的最快方法是啥

     2023-02-23     274

关键词:

【中文标题】将图像从 SD 卡加载到视图中的最快方法是啥【英文标题】:What is the fastest way to load an image from SD card into a view将图像从 SD 卡加载到视图中的最快方法是什么 【发布时间】:2011-07-11 21:44:20 【问题描述】:

我想实现一个图片库,但我对我的解决方案的性能不满意。我的应用程序创建小缩略图(大约 1k 文件大小/64x64px)并将它们存储到 SD 卡上。 将这些图像从 SD 卡加载到视图中会花费一些时间(每个缩略图 20 毫秒),并且会导致画廊滚动不太顺畅。

我尝试使用 BitmapFactory.decodeStream 或 BitmapDrawable(InputStream) 加载图像。我不想要一个完整的内存缓存,因为 - 取决于图片的数量 - OutOfMemory 可能会发生并且缓存任务的初始创建需要很多时间。

有人知道如何以更快的方式加载图像吗?框架是免费的吗?或或或...

【问题讨论】:

【参考方案1】:

我建议您阅读 Android Google 群组上的“File I/O and efficiency”帖子。在基准测试作者得出结论后,文件 I/O 最有效的方式是"batch operation on a memory mapped ByteBuffer"

在您的情况下,使用一个大文件存储缩略图可能比使用数百个小文件更有效。您可能还需要一个单独的文件进行索引(例如,用于在大缩略图文件中的文件名/编号和开始/结束位置之间的映射)-但这取决于您的逻辑。

【讨论】:

我会尝试,但这需要一些时间。

Android - 将图像从 URL 保存到 SD 卡

】Android-将图像从URL保存到SD卡【英文标题】:Android-SaveimagefromURLontoSDcard【发布时间】:2011-02-0213:40:56【问题描述】:我想将URL中的图像保存到SD卡(以供将来使用),然后从SD卡加载该图像以将其用作Google地图的可绘制叠加层。... 查看详情

将大型数据集加载到 R 中的最快方法和最快格式是啥 [重复]

】将大型数据集加载到R中的最快方法和最快格式是啥[重复]【英文标题】:WhatisthefastestwayandfastestformatforloadinglargedatasetsintoR[duplicate]将大型数据集加载到R中的最快方法和最快格式是什么[重复]【发布时间】:2015-10-3111:01:21【问题... 查看详情

将大型 CSV 文件加载到核心数据中的最快方法是啥

】将大型CSV文件加载到核心数据中的最快方法是啥【英文标题】:WhatisthefastestwaytoloadalargeCSVfileintocoredata将大型CSV文件加载到核心数据中的最快方法是什么【发布时间】:2012-05-0406:40:02【问题描述】:结论我认为问题已解决。看... 查看详情

将巨大的 .Rdata 文件(R 数据帧)加载到 SQL Server 中的最快方法是啥?

】将巨大的.Rdata文件(R数据帧)加载到SQLServer中的最快方法是啥?【英文标题】:Whatisthefastestwaytoloadhuge.Rdatafiles(Rdataframes)intoSQLServer?将巨大的.Rdata文件(R数据帧)加载到SQLServer中的最快方法是什么?【发布时间】:2017-06-0900:51... 查看详情

从android寻呼机将图像保存到sd卡

】从android寻呼机将图像保存到sd卡【英文标题】:Savinganimagetosdcardfromandroidpager【发布时间】:2013-07-1723:32:54【问题描述】:我的android应用程序中有一个寻呼机活动,我需要根据寻呼机中的位置保存图像。我设法完成了保存部分... 查看详情

将数据加载到 Cassandra 列族的最快方法是啥

】将数据加载到Cassandra列族的最快方法是啥【英文标题】:WhatisthefastestwaytoloaddataintoCassandracolumn-family将数据加载到Cassandra列族的最快方法是什么【发布时间】:2016-01-2813:30:28【问题描述】:我创建了一个Cassandra列族,我需要为... 查看详情

将 2x4 64b 结构的第一行加载到 AVX2 的 256b 寄存器中的最快方法是啥?

】将2x464b结构的第一行加载到AVX2的256b寄存器中的最快方法是啥?【英文标题】:Whatisthefastestwaytoloadthefirstrowof2x464bstructureintoa256bregisteratAVX2?将2x464b结构的第一行加载到AVX2的256b寄存器中的最快方法是什么?【发布时间】:2015-07-0... 查看详情

java示例代码_将图像从绘图资源保存到sd卡

java示例代码_将图像从绘图资源保存到sd卡 查看详情

如何使用 Swift 3 将图像从 Rest Api 加载到视图中加载方法

】如何使用Swift3将图像从RestApi加载到视图中加载方法【英文标题】:howtoloadimageFromRestApiIntoViewdidLoadMethodUsingSwift3【发布时间】:2018-07-1913:21:50【问题描述】:我想在不使用Tableview或collectionView的情况下在View中加载图像,我有Wordp... 查看详情

在 Android 中保存多个图像

】在Android中保存多个图像【英文标题】:SaveMultipleImageInAndroid【发布时间】:2012-07-0314:58:27【问题描述】:我有一个可以从sd卡加载图像的基本图像视图。用户可以通过单击按钮将templates(bitmapimages)添加到此图像视图中,并且可... 查看详情

从文本文件加载数据然后将其存储到数据库中的最快方法

】从文本文件加载数据然后将其存储到数据库中的最快方法【英文标题】:Fastestwaytoloaddatafromtextfilethenstoreitintodatabase【发布时间】:2011-02-1113:56:22【问题描述】:我有问题。我正在开发一个项目,但我被困在这部分:我想从文... 查看详情

从 MySQL 将数值数据加载到 python/pandas/numpy 数组中的最快方法

】从MySQL将数值数据加载到python/pandas/numpy数组中的最快方法【英文标题】:Fastestwaytoloadnumericdataintopython/pandas/numpyarrayfromMySQL【发布时间】:2014-04-0602:25:55【问题描述】:我想从MySQL表中读取一些数字(双精度,即float64)数据。... 查看详情

将文件中的图像读/写到 BufferedImage 的最快方法?

】将文件中的图像读/写到BufferedImage的最快方法?【英文标题】:Fastestwaytoread/writeImagesfromaFileintoaBufferedImage?【发布时间】:2013-09-0213:30:38【问题描述】:在Java/Grails中将图像从文件读取到BufferedImage的最快方法是什么?在Java/Grails... 查看详情

从 sd 卡动态加载图像会改变相对布局? [关闭]

】从sd卡动态加载图像会改变相对布局?[关闭]【英文标题】:Dynamicallyloadingimagesfromsdcardchangestherelativelayout?[closed]【发布时间】:2012-08-0200:14:51【问题描述】:真实布局问题从SD卡加载图像相对布局受到干扰如何在不影响相对布... 查看详情

java此类可帮助您将sd卡中的图像异步加载到列表视图中(代码片段)

查看详情

将多个 numpy 数组加载到 spark rdd 中的最快方法?

】将多个numpy数组加载到sparkrdd中的最快方法?【英文标题】:Fastestwaytoloadmultiplenumpyarraysintosparkrdd?【发布时间】:2016-06-2722:35:32【问题描述】:我是Spark的新手。在我的应用程序中,我想从许多numpy数组创建一个RDD。每个numpy数... 查看详情

将数据插入 Oracle 表的最快方法是啥?

...:我正在用PL/SQL编写数据转换程序,用于处理数据并将其加载到表中。根据PL/SQLProfiler,转换中最慢的部分之一是实际插入到目标表中。该表只有一个索引。为了准备加载数据, 查看详情

将图像动态加载到表格视图单元格中

】将图像动态加载到表格视图单元格中【英文标题】:loadingimagedyanmicallyintotableviewcell【发布时间】:2011-05-1206:35:45【问题描述】:除了使用if语句之外,还有更好的方法将图像动态加载到不同行的tableviewcell中吗?如果我有很多... 查看详情