WEB开发网
开发学院手机开发iPhone 开发 iOS开发笔记:内存的使用 阅读

iOS开发笔记:内存的使用

 2010-10-13 02:08:00 来源:本站整理   
核心提示:{// 针对str的操作}[str release];如果实际情况复杂,不能像例子中那样抽离出循环外,iOS开发笔记:内存的使用(2),需要创建自己的内存管理池, 同样适用于需要大量autorelease对象的过程NSAutoreleasePool * pool = [[NSAutoreleasePool alloc]

{

// 针对str的操作

}

[str release];

如果实际情况复杂,不能像例子中那样抽离出循环外,需要创建自己的内存管理池, 同样适用于需要大量autorelease对象的过程

NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

for(int i=0; i < 100; i++ )

{

// actions

}

[pool release];

之所以要这样做,是因为apple处理iPhone的内存管理机制问题, 通常情况下,系统会在需要的时候释放整理所有的autorelease对象,这就是为什么有时候autorelease对象在作用域范围外还有可能是有效的

避免不常用对象驻留内存, 桌面开发的tx很多喜欢在程序初始化的时候将某些资源比如小图片加载进内存,从而提高程序运行效率。 但这种方式在iPhone以及其它mobile移动设备开发时需要避免,因为对于这些设备来说,内存永远显得不足(当然普通pc内存也是越大越好:) )。 按照apple的官方说法, Load resources lazily . 就是在需要的时候再从硬盘上读取,而避免常驻内存。

上一页  1 2 

Tags:iOS 开发 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接