Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 缩略图创建。在飞行中还是创建小图像?_Android_Performance - Fatal编程技术网

Android 缩略图创建。在飞行中还是创建小图像?

Android 缩略图创建。在飞行中还是创建小图像?,android,performance,Android,Performance,关于缩略图创建的问题似乎被问了很多,每次似乎都有很多不同的解决方案被提出。根据我的经验,所提供的答案实际上都不够充分,而且似乎都有自己的缺陷 a)重新调整大小时内存问题 b)性能问题/渲染速度慢 因此,我想就一个非常常见的功能需求发布一个问题,希望有人能提供帮助 '用户使用活动生成报告,并使用内部摄像头拍摄相关照片。报告连同图像路径一起保存到SQLLite数据库。用户希望在将来的某个时候以可滚动列表视图查看报告。报告数可能为1..100' 鉴于这些要求,我的问题如下 1) 鉴于我还没有找到一种可

关于缩略图创建的问题似乎被问了很多,每次似乎都有很多不同的解决方案被提出。根据我的经验,所提供的答案实际上都不够充分,而且似乎都有自己的缺陷

a)重新调整大小时内存问题

b)性能问题/渲染速度慢

因此,我想就一个非常常见的功能需求发布一个问题,希望有人能提供帮助

'用户使用活动生成报告,并使用内部摄像头拍摄相关照片。报告连同图像路径一起保存到SQLLite数据库。用户希望在将来的某个时候以可滚动列表视图查看报告。报告数可能为1..100'

鉴于这些要求,我的问题如下

1) 鉴于我还没有找到一种可靠的/性能/内存优化的方法将运行时的全尺寸图像调整为给定的缩略图,我是否应该在图像捕获时创建较小的图像

2) 如果您需要在一个列表视图中显示多个项目,您应该使用分页还是可以在一个列表视图中显示100个项目


关于第2点,谢谢你:你能做的就是先加载一个子集(比如前30个,取决于你的listview项目大小),然后异步加载其余的并将它们附加到你的适配器上。这将减少屏幕的加载时间。

1/您为什么要重新发明轮子:)有一些库已经为您提供了,并且做得很好。例如,看看毕加索或阿奎里(还有其他的图书馆)

基本上,它们在SD卡/内存的某处有一个缩略图缓存,用于保存最后N个请求的缩略图

我不知道您是否将图像数据保存在数据库中,在这种情况下,您可能需要调整其中一个库以从数据库而不是通常情况下的文件中加载图像数据

2/你为什么要重新发明轮子:)有些库已经为你做了,而且做得很好。例如,请参见(更多信息请参见谷歌)