新聞中心
注釋方法或單個(gè)局部變量。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了朝陽(yáng)免費(fèi)建站歡迎大家使用!
注釋單個(gè)局部變量意味著從引用計(jì)數(shù)中排除此變量的實(shí)例引用。注釋方法意味著撤消該方法對(duì)引用對(duì)象的所有局部變量(顯式或隱式)的所有權(quán),并從引用對(duì)象的引用計(jì)數(shù)中排除這些變量的引用。
UnownedLocal 的目的是減少 RC 開(kāi)銷(xiāo),而不是消除循環(huán)引用。
對(duì)于在多線程模式下不安全的 HashMap.containsValue 方法,不允許其他線程同步修改 HashMap。因此,對(duì) HashMap 中內(nèi)部表和節(jié)點(diǎn)的讀取不包括在引用計(jì)數(shù)中,因此不會(huì)釋放所引用的對(duì)象。在這種情況下,可以使用 UnownedLocal 在方法中注釋對(duì)象。
請(qǐng)參考以下示例代碼:
@UnownedLocal
public boolean containsValue(Object value) {
Node[] tab;
V v;
if ((tab = table) != null && size > 0) {
for (int i = 0; i < tab.length; ++i) {
for (Node e = tab[i]; e != null; e = e.next) {
if ((v = e.value) == value || (value != null && value.equals(v)))
return true;
}
}
}
return false;
}
public boolean containsValue(Object value) {
Node[] @Unowned tab;
V @Unowned v;
if ((tab = table) != null && size > 0) {
for (int i = 0; i < tab.length; ++i) {
for (Node e = tab[i]; e != null; e = e.next) {
if ((v = e.value) == value || (value != null && value.equals(v)))
return true;
}
}
}
return false;
}
當(dāng)前名稱(chēng):創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS 本地Unowned
網(wǎng)站URL:http://m.5511xx.com/article/dhdpiie.html


咨詢(xún)
建站咨詢(xún)
