iPhone开发加载图片获取方法

来源:互联网 发布:连接vpn网络受限win10 编辑:程序博客网 时间:2024/05/22 03:12

程序里经常会加载一些UI图片,当取souce里的图片时无外乎用类方法和实例方法,在这里推荐用实例方法即用alloc并且手动释放的方式,图片小且数量不大时影响不大,若大量图片可以看到对内存的影响,用类方法(不手动释放内存,而是仍到自动释放池里让系统自动释放,实际却是不知道**何时释放)则会占用大量内存。


以下是发现的转换成NSData进行加载方法:

    NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extension];    NSData *image = [NSData dataWithContentsOfFile:filePath];    [UIImage imageWithData:image];

这里的image用alloc创建并手动释放更具效率,以下是常用方法:

    UIImageView *bacImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,320,460)];   NSString *bacString = [[NSBundlemainBundle]pathForResource:@"testImage"ofType:@"png"];    UIImage *bacImage = [[UIImagealloc]initWithContentsOfFile:bacString];    [bacImageViewsetImage:bacImage];    [self.viewaddSubview:bacImageView];    [bacImageViewrelease];    [bacImagerelease];

UIImageView显示选取的图片,加载完成后直接手动释放。


PS:这里做下标记,功能用两种方法都可实现时尽量用实例方法去实现,手动释放内存,少用类方法,使程序减少负荷,少占用内存,加快运行速度。



原创粉丝点击