截屏并重命名保存到任意路径下

需要在main线程执行

我想问下
这句" [screenView drawViewHierarchyInRect:screenView.bounds afterScreenUpdates:YES]; "
和这句 “ [cutView.layer renderInContext:UIGraphicsGetCurrentContext()]; ”
哪句更效率? 哪句消耗的内存更大??

UIView * screenView = [[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO];
UIGraphicsBeginImageContextWithOptions(screenView.frame.size, YES, [[UIScreen mainScreen] scale]);
[screenView drawViewHierarchyInRect:screenView.bounds afterScreenUpdates:YES];
UIImage *screenImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(screenImage, nil, nil, nil);
截屏图片是黑的哇,现在有最新截屏的嘛

是在主线程里面吗

可以去hook渲染 做个离屏渲染
内存拷贝 调整 保存
代码就不上了