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 alloc] init] autorelease];
- Nên sử dụng autorelease ngay sau khi cấp phát và khởi tạo :
self.thing = [[[SomeThing alloc] init] autorelease];
• 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 alloc] initWithFormat:@”%d, 4];
[str autorelease];
return str;
}
Nhận xét
Đăng nhận xét