鸿蒙基础之UnownedOuter 内部类以消除循环引用 (HarmonyOS鸿蒙开发基础知识)

本文介绍了UnownedOuter在HarmonyOS鸿蒙开发中的作用,用于消除循环引用,防止对象过早释放。文章还提到了内部类的注释方式以及不正确使用可能带来的问题。此外,提供了技术交流QQ群的信息和一系列鸿蒙开发入门教程链接。
摘要由CSDN通过智能技术生成

UnownedOuter 是什么

注释一个类以消除循环引用。
注释内部类意味着删除其对引用的外部对象的所有权,从而使引用不包括在引用计数中。匿名内部类可以使用内部方法进行注释。

此类可以解决无法注释外部类实例的字段的问题,因为当Java内部类隐式捕获该字段时,没有提供显式声明。如果内部类不能定义为静态嵌套类,则必须使用外部类实例,并且可以使用UnownedOuter注释内部类以消除循环引用。

此类的不正确使用可能导致与未拥有相同的结果,从而导致引用对象的早期释放。

   class Outer{
 
       @UnownedOuter
       private class Innert {
           ...;
       }
 
       Private Runnable r = new Runnable() {
           @Override
           @UnownedOuter
           Public void run() {
               ...;
           }
       }
   }
 

未经授权禁止转载


更多技术交流请加入QQ群

群名称:harmonyos鸿蒙技术交流
群 号:8565678

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识大胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值