2010-09-17 113 views
0

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

回答

0

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

1

如果您的图片永远不会改变,您会从[UIImage imageNamed:]获得一些优势,这是数据缓存。在你的情况下,资源加载也应该比数据库访问更快,因为你直接访问资源而不是通过数据库访问层。高速缓存也有利于您自己无需管理数据高速缓存,但您可能必须从UIImageView中释放它,以防止库在需要时执行高速缓存清除。

0

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

检查从查询开始到结果返回需要多长时间。如果这很慢,请确保您已将您在“where”语句中使用的列编入索引。

你可以快速检查这个真棒SQLite图形用户界面 http://menial.co.uk/software/base/和或添加这些。

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