UIGraphicsBeginImageContext(screenRect.size);
如果我使用它,则不会发生内存压力。但是如果我使用下线内存压力会发生。
UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 4.0f);
我不知道为什么会这样。任何人告诉我如何处理这个?
UIGraphicsBeginImageContext(screenRect.size);
如果我使用它,则不会发生内存压力。但是如果我使用下线内存压力会发生。
UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 4.0f);
我不知道为什么会这样。任何人告诉我如何处理这个?
我不确定您所说的“内存压力”是什么意思,我认为您的意思是内存警告/崩溃。原因在于第一个示例:
UIGraphicsBeginImageContext(screenRect.size);
您正在创建当前屏幕大小的上下文,当您使用时:
UIGraphicsBeginImageContextWithOptions(screenRect.size, NO, 4.0f);
您正在创建一个 4 倍于当前屏幕大小的上下文,这需要更多内存,如果设备没有足够的内存来分配,那么就会发生不好的事情。
您可以使用 Instruments 来查看内存分配情况。产品 -> 配置文件 (⌘I) 并从模板中选择“分配”: