IOS Programming - Quản lý bộ nhớ trong Objective-C (phần 3)

Quản lý bộ nhớ trong Objective-C (phần 3)


QUẢN LÝ BỘ NHỚ TRONG OBJECTIVE-C

5. Các mẹo quản lý bộ nhớ

 Khi nào thì mới thực sự sở hữu một đối tượng :
Khi ta cấp phát bộ nhớ cho đối tượng bằng các từ khóa : alloc, new, copy, retain

 Các luật cơ bản :
- Nếu sở hữu đối tượng nào thì mới được release đối tượng đó.
- Nếu không sở hữu thì không được release.
- Override lại hàm dealloc trong lớp để release các fields đã sở hữu.
- Không được gọi dealloc trực tiếp.
Nên sử dụng autorelease ngay sau khi cấp phát và khởi tạo :
self.thing =  [[[SomeThing allocinitautorelease];

 Trong hàm có cấp phát 1 đối tượng, và hàm lại trả về đối tượng đó thì dùng autorelease :
-(NSString *) DTB {
    NSString *str = [[NSString allocinitWithFormat:@”%d, 4];
    [str autorelease];
    return str;
}

Nhận xét

Bài đăng phổ biến