Unowned 是什么
注释Unowned对象以消除循环引用。
如果注释了字段成员或局部变量,则它们将不具有对引用对象的所有权,并且它们的引用也将不包括在引用对象的引用计数中。
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鸿蒙技术交流
群 号:856567895