WEB开发网
开发学院手机开发iPhone 开发 iPhone 开发中如何合理使用内存 阅读

iPhone 开发中如何合理使用内存

 2010-03-12 15:41:00 来源:WEB开发网   
核心提示:for( int i=0; i < 100; i++ ){// 针对str的操作}[str release];如果实际情况复杂,不能像例子中那样抽离出循环外,iPhone 开发中如何合理使用内存(2),需要创建自己的内存管理池, 同样适用于需要大量autorelease对象的过程NSAutoreleasePool

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

{

// 针对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:iPhone 开发 如何

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