伤不起的imageNamed方法

简介:

前段时间是遇到莫名其妙的崩最后于找出来是什么鬼原因 

1 [UIImage imageNamed:];

存了多的大致内存用尽最后崩最后解决问题的方法如下 
首先只存减小了大小的然后需要用到大从直接取不 
 
很明个方法不够好几天以后是无声无息的崩经过多次的排除了其他代 
的内存泄露等问题再看console里面一堆系内存警告然后退出了后台程知道用挂了 
 
所以很明+imageNamed个方法直太异了即使什么清空存什么的估也不管用 
 
并不是什么难题如果你干脆放弃存的苹果的例子代中有么一个函数足可使用函数的注的很清楚 

复制代码
- (UIImage *)tileForScale:(CGFloat)scale row:( int)row col:( int)col{
      //  we use "imageWithContentsOfFile:" instead of "imageNamed:" here because we don't want UIImage to cache our tiles
    NSString *tileName = [NSString stringWithFormat: @" %@_%d_%d_%d ", imageName, ( int)(scale *  1000), col, row];
    NSString *path = [[NSBundle mainBundle] pathForResource:tileName ofType: @" png "]; 
    UIImage *image = [UIImage imageWithContentsOfFile:path];
     return image;
}
复制代码

或者你非要比如我可以用一个NSMutableDictionary 

复制代码
 1 - (UIImage*)thumbnailImage:(NSString*)fileName
 2 { 
 3    UIImage *thumbnail = [thumbnailCache objectForKey:fileName
 4     if (nil == thumbnail)
 5    {
 6       NSString *thumbnailFile = [NSString stringWithFormat: @" %@/thumbnails/%@.jpg ", [[NSBundle mainBundle] resourcePath], fileName];
 7       thumbnail = [UIImage imageWithContentsOfFile:thumbnailFile];
 8       [thumbnailCache setObject:thumbnail forKey:fileName];
 9    }
10     return thumbnail;
11 }
复制代码

 
如果遇到内存低的警告只要

1 [thumbnailCache removeAllObjects];
OK  

 
所以如何在有大量片的情况下千万不要使用

1 [UIImage imageNamed];
异的方法了 你可以 试试 上面的方法 希望 你有帮助

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!
















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2012/07/17/2595812.html ,如需转载请自行联系原作者

相关文章
|
分布式计算 数据可视化 大数据
用Spark分析Amazon的8000万商品评价(内含数据集、代码、论文)
尽管数据科学家经常通过分布式云计算来处理数据,但是即使在一般的笔记本电脑上,只要给出足够的内存,Spark也可以工作正常(在这篇文章中,我使用2016年MacBook Pro / 16GB内存,分配给Spark 8GB内存)。
19899 0
|
10月前
|
存储 人工智能 数据库
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
Codel是一款全自主AI代理工具,支持在终端、浏览器和编辑器中执行复杂任务和项目。它运行在沙盒化的Docker环境中,具备自主操作能力,内置浏览器和文本编辑器,所有操作记录存储于PostgreSQL数据库。Codel能够自动完成复杂任务,如创建项目结构、进行网络搜索等,适用于自动化编程、研究与开发、教育与培训以及数据科学与分析等多个领域。
279 11
Codel:AI代理工具,支持在终端、浏览器、编辑器执行复杂任务和项目
|
9月前
|
存储 数据采集 数据挖掘
Pandas数据应用:用户行为分析
本文介绍了如何使用Pandas进行用户行为分析,涵盖从基础概念到实际应用的多个方面。首先简要介绍了Pandas的安装与基本功能,接着详细讲解了数据加载、初步探索及常见问题(如数据缺失、重复记录和时间戳格式不统一)的处理方法。随后探讨了用户活跃度和路径分析等模式挖掘技巧,并总结了常见报错及避免措施。通过掌握这些内容,读者可以更高效地进行用户行为分析,提升产品设计和用户体验。
389 8
|
10月前
|
人工智能 并行计算 算法
谷歌量子计算机:开启计算新时代
谷歌量子计算机是现代信息技术的前沿成果,基于量子力学原理构建,具有超越经典计算机处理复杂问题的巨大潜力。谷歌通过研发“悬铃木”处理器等,实现了量子霸权,在量子化学模拟和优化问题求解等领域取得显著成就。尽管面临量子比特稳定性和纠错等挑战,谷歌持续创新,为新时代计算奠定基础。
245 16
|
10月前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。
|
9月前
|
存储 架构师 容灾
阿里云基础设施高可用最佳实践沙龙上海站圆满举办!
2025年1月9日,阿里云在上海虹桥绿地铂瑞酒店成功举办基础设施高可用最佳实践沙龙NO.2。活动吸引了华东地区多家企业的CTO、架构师和技术从业者参与。专家们分享了高可用的基础知识、分级标准及云端架构实战经验,涵盖计算、存储、网络和云原生等领域,重点讨论了企业如何在阿里云上构建高可用数据中心。现场互动热烈,参会者与专家深入交流,探讨技术应用与合作机会。
|
10月前
|
数据可视化 数据管理 BI
远程团队如何高效运作?这些协作神器助你一臂之力!
随着远程办公的普及,团队面临沟通不畅、任务分配混乱、进度追踪困难等挑战。本文将探讨这些难题,并推荐5款实用的在线协作工具:板栗看板、Trello、Notion、Slack和Asana。每款工具都有其独特的优势和适用场景,帮助远程团队实现高效协作。
179 0
远程团队如何高效运作?这些协作神器助你一臂之力!
|
机器学习/深度学习 自然语言处理 算法
深度学习在自然语言处理中的应用与展望
本文深入探讨了深度学习技术在自然语言处理(NLP)领域的广泛应用及其未来发展方向。通过具体案例分析,如机器翻译、情感分析和文本生成等,展示了深度学习如何提高NLP任务的准确性和效率。同时,文章也讨论了当前深度学习在NLP中面临的挑战,包括数据偏见、模型解释性不足等问题,并提出了可能的解决策略。最后,本文展望了深度学习与NLP结合的未来趋势,强调了持续创新和跨学科合作的重要性。
|
人工智能 监控 算法
【基于PaddleHub的跳绳AI计数器】智能计数器
【基于PaddleHub的跳绳AI计数器】智能计数器
586 0
【基于PaddleHub的跳绳AI计数器】智能计数器
|
存储 缓存 固态存储
芯片级解密YMTC NAND Xtacking 3.0技术
YMTC NAND Xtacking 3.0被视为2022年最具颠覆性的技术之一。针对第一个使用NAND Xtacking 3.0的产品,TechInsights团队购买了512GB和1TB容量的TiPlus7100 SSD,并进行了详细的芯片分析,我们一起来看看,有没有惊喜的发现?