Harmony Foundationが所有していないため、循環参照を排除(HarmonyOS開発の基本的な知識)

所有されていないもの

所有されていないオブジェクトに注釈を付けて、循環参照を排除します。
フィールドメンバーまたはローカル変数に注釈が付けられている場合、それらには参照オブジェクトの所有権はなく、それらの参照は参照オブジェクトの参照カウントに含まれません。

Unownedは、二重リンクリスト、TreeMap、Linked HashMapの一般的なデータ構造の注釈をサポートしています。

Unownedを誤って使用すると、参照オブジェクトが早期にリリースされる可能性があります。

TreeMapデータ構造を例にとると、親ノードを左右のノードではなく「未所有」としてマークできます。

   static final class TreeMapEntry<K,V> implements Map.Entry<K,V> {
       K key;
       V value;
       TreeMapEntry<K,V> left;
       TreeMapEntry<K,V> right;
       @Unowned
       TreeMapEntry<K,V> parent;
       boolean color = BLACK;
       ...;
   }
 

無断転載禁止


より技術的な交換のために、QQグループに参加してください

グループ名:harmonyos Hongmeng Technology Exchange
グループ番号:856567895


HarmonyOS Hongmeng 2.0開発をゼロから学ぶ

おすすめ

転載: blog.csdn.net/iCloudEnd/article/details/108640851