国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

CAObject

2018-09-08 18:34 更新

類說明

CrossApp引擎的根類,主要是進(jìn)行內(nèi)存的管理,定義部分回調(diào)函數(shù)指針。引擎絕大部分類派生自CAObject,其共同遵從同一套內(nèi)存管理方式。


CAObject 屬性(點(diǎn)擊查看方法介紹)

屬性說明
m_uID對象唯一id
m_uReference引用計(jì)數(shù)器
m_uAutoReleaseCount自動(dòng)釋放引用計(jì)數(shù)器
UserData用戶數(shù)據(jù)
UserObject用戶對象
Tag標(biāo)簽
TextTag文本標(biāo)簽


CAObject方法(點(diǎn)擊查看方法介紹)

方法說明
init初始化
release減少對象的計(jì)數(shù)器
retain增加對象的計(jì)數(shù)器
autorelease設(shè)置自動(dòng)管理方式
copy復(fù)制對象
isSingleReference實(shí)例化對象是否只有一個(gè)使用者
retainCount返回對象當(dāng)前計(jì)數(shù)器的值
isEqual與指定object實(shí)例對象是否相同


CrossApp內(nèi)存管理簡介

CrossApp采用引用計(jì)數(shù)器的方式進(jìn)行內(nèi)存的管理,CAObject的派生類都采用這種方式管理對象。最基本的原則就是誰new/retain,誰就負(fù)責(zé)release,當(dāng)我們創(chuàng)建一個(gè)object時(shí),會自動(dòng)添加一個(gè)計(jì)數(shù)器,每當(dāng)對這個(gè)object進(jìn)行引用時(shí),都會使用retain方法進(jìn)行計(jì)數(shù)器的加1操作;同樣的當(dāng)釋放對這個(gè)object的引用時(shí)都會調(diào)用release方法進(jìn)行計(jì)數(shù)器的減1操作,如果引用計(jì)數(shù)器m_uReference的值為0,就刪除此object。

此外,CrossApp還提供了另一種自動(dòng)管理內(nèi)存的方式,當(dāng)我們不確定object在何時(shí)釋放時(shí),可以調(diào)用autorelease方法進(jìn)行延遲釋放object操作,此時(shí)object處于自動(dòng)管理狀態(tài),object被加入到自動(dòng)釋放池中,系統(tǒng)會在每幀結(jié)束的時(shí)候自動(dòng)對釋放池中的所有object進(jìn)行一次release操作,如果m_uReference的值為0,則刪除當(dāng)前object。


CAObject 屬性說明

m_uID

類型:unsigned int

解釋:CAObject的實(shí)例對象id,采用累加的方式,初值為零,每創(chuàng)建一個(gè)object,m_uID值加1,同時(shí)在創(chuàng)建一個(gè)object時(shí)會將當(dāng)前對象的m_uReference初始化為1,將當(dāng)前的m_uAutoReleaseCount初始化為0。


m_uReference

類型:unsigned int    

解釋:引用計(jì)數(shù)器,每創(chuàng)建一個(gè)object,計(jì)數(shù)器的值自動(dòng)加1。

    

m_uAutoReleaseCount

類型:unsigned int

解釋:是否自動(dòng)管理object,如果m_uAutoReleaseCount的值為0,非自動(dòng)管理方式,當(dāng)m_uAutoReleaseCount的值為非0,那么采用自動(dòng)管理的方式。 

         

UserObject

類型:CAObject*

解釋:用戶對象。


UserData

類型:void*

解釋:用戶數(shù)據(jù)。


Tag

類型:int

解釋:標(biāo)簽。


TextTag

類型:std::string

解釋:文本標(biāo)簽。


CAObject 方法說明

bool init();

返回值:

參數(shù):

解釋:初始化


void retain(void)

返回值:void

參數(shù):

解釋:對引用計(jì)數(shù)器m_uReference的值加1。


void release(void)

返回值:void

參數(shù):

解釋:對引用計(jì)數(shù)器m_uReference的值減1,如果m_uReference的值為0,則刪除此object。


CAObject* autorelease(void)

返回值:CAObject*

參數(shù):

解釋:將當(dāng)前object設(shè)置為自動(dòng)內(nèi)存管理方式       

        

CAObject* copy(void);

返回值:CAObject*

參數(shù):

解釋:復(fù)制對象


unsigned int retainCount(void) const

返回值:unsigned int

參數(shù):

解釋:返回當(dāng)前引用計(jì)數(shù)器m_uReference的值


bool isSingleReference(void) const

返回值:bool

參數(shù):

解釋:通過與引用計(jì)數(shù)器的值做比較,返回object是否只有一個(gè)使用者。


virtual bool isEqual(const CAObject* pObject)

返回值:

參數(shù):

類型
參數(shù)名說明
const CAObject*pObject對象

解釋:虛函數(shù),判斷當(dāng)前對象與指定實(shí)例化對象是否相同


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號