2014-02-24 119 views
0

有关缩略图制作的问题似乎被问到很多,每一次似乎都提出了很多不同的解决方案。根据我的经验,所提供的答案都不是足够的,所有答案似乎都有其缺陷。创建缩略图。在飞行中或创建小图像?

a)在重新调整大小

B)性能问题/慢渲染

因此,我想后有关,我希望有人一个很常见的功能需求问题内存问题可以协助。

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

所以考虑到这些要求是我有问题如下

1)鉴于数据我还没有找到充分调整的可靠/ performent /内存优化的方式在运行时将大尺寸图像添加到给定的缩略图,我应该在图像捕获时创建一个较小的图像吗?

2)如果你需要在一个ListView中显示很多项目,你应该使用分页还是应该可以在一个ListView中显示100个项目?

感谢

回答

0

关于数2:你可以做的是先装入一个子集(说出第30,这取决于你的ListView项的大小),并异步加载休息和它们添加到您的适配器。这会减少屏幕的加载时间。

0

1 /为什么你想重新发明轮子:)有些图书馆已经为你做了,并做得很好。例如参见picasso或AQuery(还有其他库)。

基本上,他们有一个缩略图缓存SD卡/内部存储器上的某处,以保持最后N个请求的缩略图。

我不知道您是否将图像数据保存在数据库中,在这种情况下,您可能不得不调整其中一个库来从数据库而不是从文件加载图像数据,因为它通常是案件。

2 /为什么你想重新发明轮子:)有些图书馆已经为你做了,并做得很好。例如,请参阅https://github.com/commonsguy/cwac-endless(和google了解更多)