Swift內(nèi)存管理概述-創(chuàng)新互聯(lián)

    Object-C的內(nèi)存管理經(jīng)歷過2個(gè)階段:手動(dòng)引用計(jì)數(shù)內(nèi)存管理MRC和自動(dòng)引用計(jì)數(shù)內(nèi)存引用管理ARC-MRC就是由程序員自己負(fù)責(zé)對(duì)象管理生命周期,負(fù)責(zé)對(duì)象的創(chuàng)建和銷毀,ARC的程序員不用關(guān)心對(duì)象內(nèi)存釋放的問題,編譯器在編譯的時(shí)候在合適的代碼位置插入內(nèi)存釋放代碼。

創(chuàng)新互聯(lián)建站長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為彌勒企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè),彌勒網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

    Swift在內(nèi)存管理方面吸收了OC的先進(jìn)思想,采用了ARC內(nèi)存管理模式

    Swift中的內(nèi)存對(duì)象管理是對(duì)引用對(duì)象類型的管理,即對(duì)類所創(chuàng)建的對(duì)象采用ARC管理,而對(duì)于值類型,如整型,浮點(diǎn)型,布爾型,字符串,元組,集合,枚舉和結(jié)構(gòu)體,是由處理器自動(dòng)管理,程序員不需要管理它們的內(nèi)存

    PS:

        以JAVA 和 C# 為代表的內(nèi)存垃圾回收機(jī)制,程序員不用關(guān)心內(nèi)存釋放的問題,這種方式在后臺(tái)有一個(gè)線程,負(fù)責(zé)檢查已經(jīng)不再使用的對(duì)象,將其釋放,由于在后臺(tái)有一個(gè)線程運(yùn)行,所以會(huì)影響性能。

        以C++和C為代表的手動(dòng)內(nèi)存管理模式,使用起來比較麻煩,經(jīng)常導(dǎo)致內(nèi)存泄露和內(nèi)存過度釋放等問題。

一、引用計(jì)數(shù)

        每個(gè)類創(chuàng)建的對(duì)象都有一個(gè)內(nèi)部計(jì)數(shù)器,這個(gè)計(jì)數(shù)器根據(jù)對(duì)象的引用次數(shù),稱為引用計(jì)數(shù)RC,當(dāng)對(duì)象被創(chuàng)建的時(shí)候,引用計(jì)數(shù)為1,每次對(duì)象被引用的時(shí)候會(huì)使其引用數(shù)加1,如果不需要的時(shí)候,對(duì)象引用斷開(賦值為nil),其引用計(jì)數(shù)減1,當(dāng)對(duì)象的引用計(jì)數(shù)為0的時(shí)候,對(duì)象的內(nèi)存被釋放。

二、Swift自動(dòng)引用計(jì)數(shù)示例

        

            class Employee {                     var no:Int                     var name:String                     var job:String                     var salary:Double                                          init(no:Int,name:String,job:String,salary:Double){                             self.no = no                             self.name = name                             self.job = job                             self.salary = salary }                      deinit{                             println("員工已經(jīng)被析構(gòu)了") } }             var ref1:Employee?            ref1 = Employee(no:10,name:"hey","IT",1000.0)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:Swift內(nèi)存管理概述-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article10/ceoedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司做網(wǎng)站、全網(wǎng)營銷推廣、面包屑導(dǎo)航、品牌網(wǎng)站制作服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)