在UITableView
..
我不想同时显示它们...我有3个tableViewControllers,每个将显示大约100个imga ..(它的目录,所以图像很重要显示)
我使用[uiimage imageNamed:]
但该方法缓存图像并且它们不会被释放因此内存使用量很大....当导航控制器推送不同的视图控制器时,有没有办法释放缓存?
我也试过[uiimage alloc] initWithContentsOfFile]
,但图片不会显示....
任何帮助?
答案 0 :(得分:1)
[UIImage imageNamed:@"foo.png"];
相当于
[[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"foo" ofType:@"png"]] autorelease];
除了它不缓存图像。
如果您编写自己的缓存功能,则可以随时清除它。需要图像时,请按名称检查NSMutableDictionary。如果它不存在,请正常加载图像并将其添加到字典中,并将名称作为键。要刷新缓存,请从字典中删除所有对象。