代码之家  ›  专栏  ›  技术社区  ›  Patroclus

假设在再次触发应用程序的onCreate之前内存不会被破坏,这样安全吗?

  •  0
  • Patroclus  · 技术社区  · 4 年前

    我想从中获取一些重要数据 onCreate 并将它们存储在内存中。

    我能假设我存储在内存中的数据会在那里吗?如果应用程序被破坏了,我能假设吗 创建时的回调函数 总是会再次被触发吗?

    2 回复  |  直到 4 年前
        1
  •  1
  •   Tyler V    4 年前

    从…起 the documentation 对于 onCreate

    在应用程序启动时,在创建任何活动、服务或接收方对象(不包括内容提供商)之前调用。

    如果应用程序在后台被系统杀死,那么它必须调用 创建时的回调函数 下一次发射时再次发射。只要在中重新初始化静态值 创建时的回调函数 每次都应该是安全的——假设您的应用程序类持有对它的引用,以防止它被垃圾收集。

    你也会发现 this question 对于静态变量的垃圾收集非常有用。

        2
  •  0
  •   GreyBeardedGeek    4 年前

    我认为你不能相信这一点。 如果确实需要恢复信息,则需要将其存储在应用程序被破坏后仍能存活的地方,如本地存储或数据库。