(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]