iOS-使用VPImageCropper时Analyze 出现Potential leak of an object stored into 'subImageRef'

今天analyze的时候出现这个问题,是用的一个第三方裁剪图片的类叫VPImageCropper,结果发现他里面有问题,看图大家就明白了.在调用CGImageCreateWithImageInRect时subImageRef内存计数+1了,但是在后面用完后却没release.

那么问题来了,这个VPImageCropper是支持ARC的,也就是说系统遇到这边就不好用了,释放不了.这样就会有内存泄露

后来上 stackoverflow 查找 发现这样一段话

ARC does not manage C-types, of which CGImage may be considered. You must release the ref manually when you are finished with CGImageRelease(image);

也就是 在arc模式下 不是什么东西 都可以释放 例如 C-types的对象 都需要手动来进行释放

加上这句话就好了CGImageRelease(subImageRef)

这时我们再来看下,问题解决了~

iOS-使用VPImageCropper时Analyze 出现Potential leak of an object stored into 'subImageRef'

时间: 2024-10-07 06:56:57

iOS-使用VPImageCropper时Analyze 出现Potential leak of an object stored into 'subImageRef'的相关文章

iOS设备横屏时,frame和bounds的分别

工程中有两个ViewControllers,其中ViewController是root view controller,底色是红色,上面有一个按钮,点击后加载GreenViewController,并显示其视图,底色是绿色. 首先是ViewController的代码: #import "ViewController.h" #import "GreenViewController.h" @interface ViewController () @end @implem

iOS动态运行时方法

在某些时候,程序可能需要根据获取的参数来决定调用的方法. 要实现这样的功能,就需要使用到动态运行时方法了. 首先需要定义好接口,以便调用. 然后就是动态调用定义好的方法. 这里有两种方法, 第一种: // 有参数则需要加上冒号 SEL sel = NSSelectorFromString(@"save:"); MyObject obj = [MyObject new]; [obj performSelector:sel withObject:@{@"1":@&quo

IOS :编译时出现的错误 ,希望可以有所帮助

1."std::ios_base::Init::~Init()", referenced from 答1: 如果出现这样的编译问题,是需要再加进libstdc++.dylib和libstdc++.6.dylib(为6.1使用) 2.apple Mach-o Linker error 答2: 通常是因为compile source中有相同的.m文件 3.如果在真机中进行测试时出现failed to get the task for process, 答3:有可能是证书出了问题. 4.如果

IOS -执行时 (消息传递再探究)

一 消息查找优化 至此.我们已经明确了Objective-c中大致的消息传递过程,我们发现假设每次函数调用都经历上面的过程(.那函数调用的效率就会非常低,尤其是当类的继承层次非常多的时候.它须要一层层的查找其效率将会更低,为了加快查找调用的速度,Objective-c对消息查找做了优化. 从前一节的类对象我们知道它含有一个?struct objc_cache *cache成员,这个缓存就是为了提高查找的效率的. 每一个类都有自己的缓存,同一时候包含继承的方法和在该类中定义的方法. 当我们在查找I

Ubuntu启动后进入界面时,报错误Could not apply the stored configuration for monitors

一. 问题: Ubuntu启动后进入界面时,报错误Could not apply the stored configuration for monitors,分辨率无法设置 二. 解决: 删除monitors.xml文件 1 sudo rm -f ~/.config/monitors.xml

MSSQL text/ntext 字段在读取时返回值不是String而是Object:net.sou

MSSQL text/ntext 字段在读取时返回值不是String而是Object: [email protected] 后来终于在网上找到了解决办法,只要在连接数据库的URL后边加上";useLOBs=false"这句就O了.

【爬坑】Python 3.6 在 Socket 编程时出现类型错误 TypeError: a bytes-like object is required, not 'str'

1. 问题描述 Python 3.6 在 Socket 编程时出现错误如下 Traceback (most recent call last): File "F:/share/IdeaProjects/test/mypython/test/test10_tcpclient.py", line 17, in <module> sock.send(str) TypeError: a bytes-like object is required, not 'str' Process

iOS:切换视图时,反向传递数据方法一:通知

通知方式: 1.有一个(单例)通知中心,负责管理iOS中的所有通知 2.需要获取某种通知,必须注册成为观察者(订阅) 3.不再需要取某种通知时,要取消注册. 4.你可以向通知中心发送某种通知,通知中心会转发给相应的观察者(订阅者). 将第一个控制器和第二个控制器以modal方式联接后,每一个控制器和各自的类相关联,同时将segue的idetifier标识设置一个名字,正向传数据时,需要根据segue的标识符进行唯一的识别.反向传数据时,采用通知的方法. 1.所有的文件: 2.第一个控制器Firs

iOS支付宝集成时遇到的问题整理(1)

1.模拟器上运行正常,但是真机调试时报编译链接错误 :ld: '/Users/wangqipeng/Desktop/iOS支付宝官方文档/AlixPayDemo/libcrypto.a(bio_lib.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or