1

我的应用程序有UITableView. 我正在使用具有标签和UIImage. 它适用于正常滚动。但是如果我滚动很长时间,图像就会消失。还有error = 24 (to many open files) in console

从谷歌,我得到了它,而不是使用UIImage imageNamed, used initWithContentOfFile。但那个剂量不起作用。请帮忙。


编辑添加注释中编写的代码:

这是用于将图像添加到单元格的代码:

UIImage *img =[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"sms_icon" ofType:@"png"]]; [cell.img setImage:img]; [img release];

4

1 回答 1

0

文件说

方法 (+ImageNamed:) 在系统缓存中查找具有指定名称的图像对象,如果该对象存在,则返回该对象。如果匹配的图像对象尚未在缓存中,则此方法从指定文件加载图像数据,缓存它,然后返回结果对象。

在运行 iOS 4 或更高版本的设备上,如果设备的屏幕比例为 1.0,则行为相同。如果屏幕的比例为 2.0,则此方法首先搜索具有相同文件名并附加@2x 后缀的图像文件。例如,如果文件名是 button,它首先搜索 button@2x。如果找到 2x,则加载该图像并将返回的 UIImage 对象的 scale 属性设置为 2.0。否则,它将加载未修改的文件名并将比例属性设置为 1.0。在 iOS 4 及更高版本上,如果文件为 PNG 格式,则无需指定 .PNG 文件扩展名。在 iOS 4 之前,您必须指定文件扩展名。如果您有一个只显示一次的图像文件并希望确保它不会被添加到系统的缓存中,这将使您的一次性图像远离系统图像缓存,从而潜在地改善您的应用程序的内存使用特性。

于 2013-09-30T13:23:19.860 回答