真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android智能指針怎么用

本文小編為大家詳細(xì)介紹“android智能指針怎么用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“android智能指針怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、廣信ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的廣信網(wǎng)站制作公司

其中要點(diǎn):

1、智能指針引用計(jì)數(shù)框架原理:當(dāng)父對象要引用子對象時,就對子對象使用強(qiáng)引用計(jì)數(shù)技術(shù),而當(dāng)子對象要引用父對象時,就對父對象使用弱引用計(jì)數(shù)技術(shù),而當(dāng)垃圾收集系統(tǒng)執(zhí)行對象回收工作時,只要發(fā)現(xiàn)對象的強(qiáng)引用計(jì)數(shù)為0,而不管它的弱引用計(jì)數(shù)是否為0,都可以回收這個對象,但是,如果我們只對一個對象持有弱引用計(jì)數(shù),當(dāng)我們要使用這個對象時,就不直接使用了,必須要把這個弱引用升級成為強(qiáng)引用時,才能使用這個對象,在轉(zhuǎn)換的過程中,如果對象已經(jīng)不存在,那么轉(zhuǎn)換就失敗了,這時候就說明這個對象已經(jīng)被銷毀了,不能再使用了。

2、智能指針實(shí)現(xiàn)框架:由一個對象來提供引用計(jì)數(shù)器,但是這個對象不會去維護(hù)這個引用計(jì)數(shù)器的值,而是由智能指針來維護(hù);具體說是,第一是要定義一個負(fù)責(zé)提供引用計(jì)數(shù)器的公共類,第二是實(shí)現(xiàn)相應(yīng)的智能指針對象類;

3、android源碼涉及RefBase,sp,wp

(1)強(qiáng)引用與弱引用計(jì)數(shù)

RefBase中有一個隱含的對象,該對象內(nèi)部有強(qiáng)弱引用計(jì)數(shù)。

sp化后,強(qiáng)弱引用計(jì)數(shù)各增加1,sp析構(gòu)后,強(qiáng)弱引用計(jì)數(shù)各減1

wp化后,弱引用計(jì)數(shù)加1,wp析構(gòu)后,弱引用計(jì)數(shù)減1

強(qiáng)引用為0,導(dǎo)致實(shí)際對象被delete

弱引用為0,將導(dǎo)致隱含對象被delete

(2)弱引用操作

弱指針的最大特點(diǎn)是它不能直接操作目標(biāo)對象,在于弱指針類沒有重載*和->操作符號,而強(qiáng)指針重載了這兩個操作符號。但是,如果我們要操作目標(biāo)對象,需要把弱指針升級為強(qiáng)指針。

(3)目標(biāo)對象生命周期控制

目標(biāo)對象生命周期控制除強(qiáng)弱引用計(jì)數(shù)外,還有flag標(biāo)志

 A. 如果對象的標(biāo)志位被設(shè)置為0,那么只要發(fā)現(xiàn)對象的強(qiáng)引用計(jì)數(shù)值為0,那就會自動delete掉這個對象;

        B. 如果對象的標(biāo)志位被設(shè)置為OBJECT_LIFETIME_WEAK,那么只有當(dāng)對象的強(qiáng)引用計(jì)數(shù)和弱引用計(jì)數(shù)都為0的時候,才會自動delete掉這個對象;

        C. 如果對象的標(biāo)志位被設(shè)置為OBJECT_LIFETIME_FOREVER,那么對象就永遠(yuǎn)不會自動被delete掉,誰new出來的對象誰來delete掉。

讀到這里,這篇“android智能指針怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站題目:android智能指針怎么用
標(biāo)題網(wǎng)址:http://weahome.cn/article/jsocoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部