我有一个正在运行的程序,但遇到了堆内存增长的问题' 我已将其缩小到以下方法
基本上我从画廊拍摄了一张图片,将其导入到我的应用中,并使用了一种方法。重新加载'它每次用户访问页面
我需要用7张图片来做这件事,所以内存管理势在必行
///saves the image ///
if(imagepicked==2)
{
NSData *imageData = UIImagePNGRepresentation(image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filename = [documentsDirectory stringByAppendingPathComponent:@"face.png"];
[imageData writeToFile:filename atomically:NO];
///loads the image ///
NSString *cachedImagePath3 = [cachedFolderPath1 stringByAppendingPathComponent:@"face.png"];
UIImage *image3 = [UIImage imageWithData:[NSData dataWithContentsOfFile:cachedImagePath3]];
newfacebookimage.image = image3;
一切正常,但会导致大量内存问题
我也尝试过使用NSuserdefaults但是无法正确使用代码。 感谢
答案 0 :(得分:0)
包裹每个负载&保存在autoreleasepools中以减少峰值
@autoreleasepool {
... memory intensive work
}