Class中的内存泄漏方法由sqlite3_stmt对象组成

时间:2011-06-06 05:11:17

标签: iphone

Class method中由sqlite3_stmt对象组成的

内存泄漏

+ (PTModelObject *) processRawRow: (sqlite3_stmt *) selectStatement
{
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss ZZZ"];


    BBDashboard * myModelObject = [[BBDashboard alloc] init];   **128 bytes **
    [myModelObject setOid:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 0)]];

    [myModelObject setDbDate:[formatter dateFromString:[NSString stringWithFormat: @"%s",sqlite3_column_text(selectStatement, 1)]]];**32 bytes**
    [myModelObject setDbHour:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 2)]];
    [myModelObject setConsumedGoal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 3)]];
    [myModelObject setConsumedFinal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 4)]];
    [myModelObject setBurnedGoal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 5)]];
    [myModelObject setBurnedFinal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 6)]];
    [myModelObject setStepsGoal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 7)]];
    [myModelObject setStepsFinal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 8)]];
    [myModelObject setActivityGoal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 9)]];
    [myModelObject setActivityFinal:[NSNumber numberWithInt:sqlite3_column_int(selectStatement, 10)]];


    [formatter release];
    return [myModelObject autorelease];
}




 BBDashboard * myModelObject = [[BBDashboard alloc] init];

这里显示128个字节....

1 个答案:

答案 0 :(得分:1)

来自cocos2d文档:

CCSpriteSheet就像一个批处理节点:如果它包含子节点,它将在单个OpenGL调用中绘制它们(通常称为“批量绘制”)。

CCSpriteSheet可以引用一个且仅一个纹理(一个图像文件,一个纹理图集)。只有该纹理中包含的CCSprit可以添加到CCSpriteSheet中。添加到CCSpriteSheet的所有CCSprit都在一个OpenGL ES绘制调用中绘制。如果没有将CCSprit添加到CCSpriteSheet中,那么每个CCSprite都需要一个OpenGL ES绘制调用,效率较低。

限制:

唯一被接受为子(或孙子,孙子等等)的对象是CCSprite或CCSprite的任何子类。例如:粒子,标签和图层无法添加到CCSpriteSheet中。 它的所有孩子都是别名或抗锯齿。它不能混合。这是因为“别名”是纹理的属性,所有的精灵共享相同的纹理。