2013-06-12 58 views
0

我正在制作的应用程序拍摄视频和图片,并在GridView中显示它们。我的希望是,用户会经常使用我的应用程序,并采取大量的视频和图片。我试图找出存储位图缩略图时要采取什么路线的问题。我目前使用SQlite数据库存储所有字节,然后查询它们并创建一个要显示的位图。即使我在后台线程中这样做,这看起来效率很低,尤其是随着数据库的增长以及需要查询的更多数据。用于缩略图存储的Sqlite数据库和内存缓存

我觉得使用内存缓存将允许更快的检索和更好的用户界面。但是,我担心,如果用户创建了很多缩略图,那么我可能会遇到内存不足的风险。

我的主要问题是:

是存储一堆缩略图的甚至是一件值得关注的缓存是什么时候?

在这种情况下使用SQlite数据库有什么好处吗?

感谢

+0

通过[这篇文章](http://stackoverflow.com/questions/541966/how-do-i-do-a-lazy-load-of-images-in-listview)。 James A Wilson用最简单的方式向你展示了如何在短时间内存中缓存数据。在更好的方式检查在Fedor答案的代码。您将学习如何进行内存管理以避免内存不足异常。 – Ali

回答

0

你不应该存储图像作为一个字节,你应该将图像作为文件存储在缓存文件夹中,你DB你应该只对存储图像的路径(或图像的名称如果你知道该文件夹)。你也应该缓存缩略图,当他浏览缩略图列表(调整图像大小需要一些时间)时,它会提高速度。 P.S.你可以使用一些第三部分库。