tom*_*tom 2 memory-leaks memory-management autorelease ios
我有以下代码,并想知道当iOS重新收集分配的内存时会发生什么.内存p1是否会指向后来自动释放,虽然它现在指向不同的内存?并且内存p2也指向自动释放,因为p1在语义上意味着在开始时指向自动释放的内存?
NSMutableArray *p1 = [NSMutableArray arrayWithCapacity:10];
NSMutableArray *p2 = [[NSMutableArray alloc] init];
// what will happen to the memory p1 and p2 point to
// after the following assignment, and at later stage?
p1 = p2;
Run Code Online (Sandbox Code Playgroud)
什么都不会泄露,p1是一个自动释放的对象,在这种情况下,在将p2分配给p1之后,它们都只是指向同一个对象.p1指向的原始对象由自动释放池管理,并在池耗尽时释放.ARC与否,假设您稍后释放p2,则没有泄漏.
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |