鸿蒙OS Unowned

2020-10-15 09:36 更新

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

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

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

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

以 TreeMap 数据结构为例,可以将父节点标注为“无主”,而不能标注左右节点:

  1. static final class TreeMapEntry<K,V> implements Map.Entry<K,V> {
  2. K key;
  3. V value;
  4. TreeMapEntry<K,V> left;
  5. TreeMapEntry<K,V> right;
  6. @Unowned
  7. TreeMapEntry<K,V> parent;
  8. boolean color = BLACK;
  9. ...;
  10. }
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号