我有一个应用程序,我查询数据库并加载大量的小图像。目前,我在xcode的iPhone项目中添加图像作为资源(通过将其拖动到相应组下的资源文件夹中)。但是,我现在尝试添加功能,为项目添加额外的8000个图像。
添加这些图像后,我注意到界面构建器加载图像预览的速度非常慢。使用大量CPU会导致IB极度反应迟钝。如果我禁用与xcode同步,则根本不会加载图像预览。
有没有办法以有效的方式包含和引用这些图像,这不会减慢UI的速度。我希望我的UI不要根据项目中的图像数量减慢速度。
答案 0 :(得分:10)
我开发了一个包含更多图像的应用程序,没有一个问题(除了构建/打包阶段,需要超过1 Gb数据的年龄)。
关键是将包含图像的文件夹添加为“文件夹参考”,而不是作为组和单个项目添加。访问图像时,您必须执行比[UIImage imageNamed:@"..."]
更多的魔法。
使用
进入图像的路径[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"yourdirectory"]
并添加文件名(和/或自然地阅读目录内容)
PS。这假设您实际上并未使用Interface Builder中的图像。
哦,还有一个提示:在开发时,第一次安装应用程序后,您可以在xcode中删除应用程序中的图像。只要您不从设备中删除应用程序,图像仍将保留在设备上,可供您的代码使用,但构建和安装速度会更快。
答案 1 :(得分:1)
这是要添加的大量图像。当然,Xcode需要一段时间来处理所有这些,最初是在第一次构建时。
如果您没有清理构建版本,或者从模拟器中删除您的应用程序,那么如果Xcode没有更改,Xcode应该更快地处理它们。
对于用户界面减速,尽量不要在1个实例中加载所有图像;就像拥有8000张图像的桌子一样,即使在模拟器中也无法减慢速度。