`
dcj3sjt126com
  • 浏览: 1827958 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于colorWithPatternImage内存泄漏

    博客分类:
  • IOS
 
阅读更多

项目中使用到了这个方法colorWithPatternImage, 一般的写法是

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];

由于是公司内部产品, 要求兼容IOS系统3.0-5.0, 所以拿了各种版本机器测试! 发现这个方法在有一些系统上内存泄漏, 直到奔溃!

 

要考虑iphone4高清, 这个图本身在内存占用大概2MB内存, 然后屏幕旋转或者其他的一些需要换图的操作, 这个方法就会重新执行一边, 内存就++2MB, 不一会儿就奔溃了!

当然并非所有的系统都有这个问题! 可能是系统的一个bug, 模拟器调试没任何问题, 我的iphone4, 4.3.3系统没问题!

由于机器有限, 部分测试结果如下, 希望能帮助一些人:

iphone4        都没问题
iphone3gs    4.2.1系统和4.1有问题, 4.3没问题
iphone3        4.2.1系统有问题, 3.1系统没问题
ipad              3.2系统没问题

 

国外的一些用户也发现了这个问题, 解决的方法就是不用这个方法设置背景颜色罗! 

http://www.cocoabyss.com/coding-practice/colorwithpatternimage-abusive-memory-usage/

http://www.tuzzolotron.com/?p=118

分享到:
评论

相关推荐

    GDB查找内存泄露

    后台程序中经常会存在一部分内存泄露,但是不能很好的定位造成内存泄露的代码,并进行修改,内存泄露不进行修改就会造成程序运行时占用的内存不断升高,逐渐的导致系统的不稳定,现将前一段时间通过GDB调试工具查找内存...

    Android webview 内存泄露的解决方法

    Android webview 内存泄露的解决方法 最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递...

    linux 内核 内存泄露检测

    linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测 linux 内核 内存泄露检测

    Windows内存泄漏排查工具

    LeakDiag和LDGrapher,windows内存泄漏排查工具,用于进行一些泄漏位置的查找以及可视化展示。

    opencv3和opencv4多线程内存泄漏问题

    opencv3和opencv4多线程内存泄漏问题:以cv::resize函数测试结果为例。 使用中可修复或者可避免内存泄漏:1)使用opencv2的版本;2)在代码中设置修复该问题.

    几个内存泄漏的例子

    几个内存泄漏的例子  new和delete要成对使用  new和delete要匹配 经常看到一些C++方面的书籍中这样提及到内存泄漏问题,这样的说法的意思是比较明白,但对于初学C++程序员还是很难掌握,所以下面举几个反面的...

    Linux 内存泄露查找

    linux 内存泄露排查文档。 介绍mtrace的使用。根据实际问题介绍如果定位问题。

    electron-vue开发环境内存泄漏问题汇总.docx

    electron-vue开发环境内存泄漏问题汇总.docx

    windows下c++内存泄露检测工具使用方

    windows下c++内存泄露检测工具使用方windows下c++内存泄露检测工具使用方

    关于JAVA内存泄漏问题注意事项

    关于JAVA内存泄漏问题注意事项.doc

    C++内存泄露检测器

    C++ 内存 泄露 检测器 对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题

    freertos内存泄漏检测代码(ESP32)

    用于freertos嵌入式实时系统内存泄漏检测,可以实时查看内存状况,具体平台是ESP32

    关于Java内存泄漏的讨论

    什么是内存泄漏?造成内存泄漏的原因?如何解决内存泄漏?以及如何避免内存泄漏等。。。

    Android处理内存泄漏的代码例子

    Android处理内存泄漏的代码例子。用于演示避免内存泄漏的几种方法,包括:关闭游标、重用适配、回收图像、注销监听、释放引用。

    推荐4款linux下的c语言内存泄漏检测工具.zip

    推荐4款linux下的检测c语言编写的程序的内存泄漏工具 C语言和其他语言相比最大的特色就是能够操作内存 但是最常犯的错误也是内存泄漏(管杀不管埋) 所以我们需要用一些工具来帮助我们检测是否存在内存泄漏,存在多少 ...

    JProfiler对应用服务器内存泄漏问题诊断解决方案.docx

    JProfiler对应用服务器内存泄漏问题诊断解决方案

    JS内存泄漏检测工具

    JS内存泄漏检测工具:IEJSLeaksDetector

    vld2.5 C++内存泄露检测工具

    关键词:内存泄露,visual leak detector,vld VLD是一款用于VisualC++的免费内存泄漏检查工具。可以在codeproject.com网站上找到,相比其它的内存泄漏哦给你根据,他在检查内存泄漏的同事,还具有如下特点: 1) ...

    linux下检查内存泄漏的工具+例子

    介绍了使用内存泄漏检测工具valgrind的安装和使用,内附安装包,测试程序,使用说明文档。

    检测内存泄漏检测内存泄漏

    检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏 检测内存泄漏

Global site tag (gtag.js) - Google Analytics