iPhone应用程序中的图像

时间:2010-09-17 22:30:48

标签: iphone database image sqlite

我正在使用导航控制器创建一个多层iPhone应用程序,该应用程序在每一层都包含大量图像。我想知道使用SQLite数据库存储所有图像并在需要时将它们提取到页面是否是一个好主意,或者我应该将所有图像添加到资源文件夹并根据需要将它们拉入应用程序?我之前在应用程序中使用过SQLite数据库,但应用程序仍然有点慢。除此之外我还能做些什么来提高应用程序的速度吗?我很满意,任何帮助都表示赞赏。提前谢谢。

3 个答案:

答案 0 :(得分:1)

如果您的图片永远不会改变,那么您将从[UIImage imageNamed:]获得一些优势,即数据缓存。在您的情况下,资源加载也应该比数据库访问更快,因为您直接访问资源而不是通过数据库访问层。缓存也使您不必自己管理数据缓存,但是当不可见时,您可能必须从UIImageView释放它以允许库在需要时执行缓存清除。

答案 1 :(得分:0)

我认为您不会从文件系统获得更快的SQLite响应。无论哪种方式,它都存储在一个文件中。我担心这是你能做的最快的。话虽这么说,如果你有足够的内存,你可以确保在需要之前加载一些文件和视图。您可以使用NSObject的performSelectorInBackground方法在应用程序的另一部分运行时异步执行此操作。此外,您可以通过预先针对目标使用优化图像的宽度和高度来减少加载和处理时间。当您拥有大量图像时,这会在加载和呈现时间方面产生巨大差异。

答案 2 :(得分:0)

要检查的一件事是查询数据库需要多长时间?

检查从查询开始到返回结果所需的时间。如果这很慢,请确保已在“where”语句中索引了正在使用的列。

您可以使用这个非常棒的SQLite GUI快速查看 http://menial.co.uk/software/base/和/或添加这些。

我会从文件系统中获取数据。