鸿蒙OS Unowned

注释没有所有权的对象以消除循环引用。

如果注释了字段成员或局部变量,则它们将不具有对引用对象的所有权,并且它们的引用也将不包括在引用对象的引用计数中。

此类支持以下常见数据结构的注释:双链表,TreeMap 和 Linked HashMap。

此类的不正确使用可能会导致早期释放引用的对象。

以 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;
       ...;
   }

 
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS Unowned》
文章链接:https://zhuji.vsping.com/312500.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。