成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Cocoa內存管理規則與垃圾回收

移動開發 iOS
Cocoa內存管理規則與垃圾回收是本文要介紹的內容,主要是來學習如何來解決cocoa內存管理的問題。不多說,直接來看詳細內容詳解。

Cocoa內存管理規則與垃圾回收是本文要介紹的內容,主要是來學習如何來解決cocoa內存管理的問題。不多說,直接來看詳細內容詳解。

Cocoa內存管理規則

(1)當你使用new、alloc、copy方法創建一個對象時,該對象的保留計數器值為1.當不再使用該對象時,你要負責向該對象發送一條release或autorelease消息。這樣,該對象將在其使用壽命結束時被銷毀。

(2)當你通過其他方法獲得一個對象時,這假設該對象的保留計數器值為1,而且已經被設置為自動釋放,你不需要執行任何操作來確保該對象被清理。如果你打算在一段時間內擁有該對象,這需要保留它并確保在操作完成時釋放它。

(3)如果你保留了某個對象,你需要(最終)釋放或自動釋放該對象。必須保持retain方法和release方法的使用次數相等。

“如果我使用了new、alloc或copy方法獲得一個對象,則我必須釋放或自動釋放該對象。”只要你記住了這條規律,你就平安無事了。

無論什么時候擁有一個對象,有兩間事情必須弄清楚:怎樣獲得該對象的?打算擁有該對象多長時間。

例如:

  1. NSMutableArray *array;array = [[NSMutableArray alloc] init]; //count: 1// use the array[array release]; // count: 0 

上例中使用alloc方法獲得了array,所以需要安排該對象的釋放([array release])

又如:

  1. NSMutableArray *array;array = [NSMutableArray arrayWIthCapacity: 17];// count: 1, autoreleased// use the array 

上例中的arrayWithCapacity: 方法不屬于alloc、new、copy中的任何一個,因此可以假設該對象被返回時保留計數器值為1而且已經被設置為自動釋放。你不需要顯示釋放array。

垃圾回收(garbage collection)

Objective-C2.0引入了自動內存管理機制,也稱垃圾回收。對于已經創建和使用的對象,當你忘記清理它們時,系統會自動識別哪些對象仍在使用,哪些對象可以回收。

垃圾回收是一種可選擇啟用的功能,啟用方法是:在菜單選擇Project | Edit Project Settings進入項目信息窗口,搜索“garb”,選擇Required[-fobjc-gc-only]選項即可。如下圖所示:

Cocoa內存管理規則與垃圾回收

“-fobjc-gc”選項是為了使代碼即支持垃圾回收又支持對象的保留和釋放。

啟用垃圾回收后,通常的內存管理命令全部變成了空操作指令,不執行任何操作。

注意:如果開發iPhone軟件,則不能使用垃圾回收。實際上,在編寫iPhone程序時,蘋果公司建議你不要在自己的代碼中使用autorelease方法,同時還要避免使用創建自動釋放對象的便利函數。

小結:Cocoa內存管理規則與垃圾回收的內容介紹完了,希望本文能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2009-09-02 09:23:26

.NET內存管理機制

2014-12-19 11:07:40

Java

2023-12-19 21:52:51

Go垃圾回收開發

2017-08-04 10:53:30

回收算法JVM垃圾回收器

2024-02-04 09:18:00

Python內存管理垃圾回收

2023-05-31 09:00:00

2010-09-26 16:42:04

JVM內存組成JVM垃圾回收

2023-02-28 07:56:07

V8內存管理

2017-02-21 16:40:16

Android垃圾回收內存泄露

2011-07-28 11:12:25

Cocoa 內存

2017-04-25 14:39:55

JVM內存Java

2013-10-11 17:32:18

Linux運維內存管理

2011-07-26 15:14:24

蘋果 Cocoa 內存

2009-12-09 17:28:34

PHP垃圾回收機制

2022-01-20 10:34:49

JVM垃圾回收算法

2019-06-24 19:00:09

JavaScript內存泄漏垃圾回收

2021-01-04 10:08:07

垃圾回收Java虛擬機

2023-05-12 07:38:46

Python基準測試性能分析

2022-03-21 11:33:11

JVM垃圾回收器垃圾回收算法

2011-07-07 09:54:01

Cocoa Core Foundation
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人精品久久 | 麻豆精品一区二区三区在线观看 | 中文字幕精品一区 | 一区二区在线观看免费视频 | 成人久久久 | 欧美h版| 国产区视频在线观看 | 亚洲电影免费 | 日本视频免费观看 | 久久久精品高清 | 久久久做 | 91精品国产欧美一区二区成人 | 午夜免费观看网站 | 天天干国产 | 91免费在线| 搞av.com| 亚洲欧美在线一区 | 天天射美女 | 成人免费一区二区三区视频网站 | 色网站在线 | 久久九九影视 | 国产精品成人一区二区 | 精品久久久久久久久久久久久久 | 99精品网| 亚洲啪啪 | 日本在线中文 | 欧美激情久久久 | 青青久久久 | 亚洲网站在线观看 | 国产精品不卡一区二区三区 | 午夜性色a√在线视频观看9 | 国产剧情一区二区三区 | 丁香综合 | 波多野结衣中文字幕一区二区三区 | 福利视频一区 | 在线观看免费观看在线91 | 亚洲成人一区 | 亚州成人 | av第一页| 91网站在线看 | 久久久久国产一区二区三区四区 |