HarmonyOS 鸿蒙Next ArkTs的static readonly 变量崩溃的问题

发布于 1周前 作者 caililin 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTs的static readonly 变量崩溃的问题

在一个类里面,使用了static readonly声明了变量和数组,数组中引入了变量,然后运行就直接报崩溃。

类似代码如下:

export class WarnBean {
  public static readonly WARN_TYPE_VIDEO_REVIEWED = 38;
  public static readonly ALL_WARN_TPES: Array<number> = [1,WarnBean.WARN_TYPE_VIDEO_REVIEWED];
}

然后运行起来就直接崩溃,报的错误是:

export class WarnBean {
  public static readonly WARN_TYPE_VIDEO_REVIEWED = 38;
  public static readonly ALL_WARN_TPES: Array<number> = [1,WarnBean.WARN_TYPE_VIDEO_REVIEWED];
}

原因是什么?WARN_TYPE_VIDEO_REVIEWED属性是声明在数组之前的

5 回复
readonly的常量,还监听变化?

跟这个无关,只是它为什么加上了@Observed就不行,我只是某个bean里面会有一些readonly的属性,从安卓那边弄过来的代码。基本就是翻译,谁会注意这种情况啊,这什么也不说就直接崩溃。

移除了[@Observed](/user/Observed)注解就行,不移除就会崩溃
API的版本是11

针对HarmonyOS鸿蒙Next ArkTs中static readonly变量导致崩溃的问题,这通常可能与变量初始化时机、类型安全或内存管理有关。请检查以下几点:

  1. 确保static readonly变量的类型在初始化时是线程安全的,尤其是在多线程环境下。
  2. 检查变量的初始化是否依赖于其他未正确初始化的静态变量或资源。
  3. 验证是否在类加载时即完成了所有必要的初始化操作,避免在后续使用中因未初始化而导致崩溃。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部