(ios)内存优化笔记

1 整体思路

1.1 开发过程优化:在开发过程中将软件功能进行拆分,每一个小功能完成后,及时的进行功能测试

1.2 禁止用autorelease

1.3 大量操作时,主动加 @autoreleasepool,及时将系统 autorealease 资源及时释放

 

2 图片读取方式,和内存之间的关系

2.1 [[UIImage alloc]initWithContentsOfFile:path]方式

 NSString *path = [[NSBundlemainBundle] pathForResource:[NSStringstringWithFormat:@"%@.jpeg",self.questiondata.titleimg] ofType:nilinDirectory:@""];

            titleImg = [[UIImage alloc]initWithContentsOfFile:path];

优点:可直接控制资源释放,缺点:不适合相同图片的大量共用

2.2 [UIImage imageNamed:@"radio.png"]方式

优点:本身带缓存机制,适合相同图片的共用

缺点:大量加载不同图片,会让内存吃紧

3 界面控件的生成

3.1 new 一个控件,添加完成后 就立即释放

3.2 设置UIView的Tag属性,在界面事件中,通过Tag查找并控制控件相应事件 

3.3 对象属性处理完成后,理解释放

    [控件内部复制,对象计数器不加1 ,外部赋值且属性为retain,对象计数器加1]

 

 

你可能感兴趣的:(ios)