【问题标题】:Android robust sensor acquisitionAndroid 强大的传感器采集
【发布时间】:2015-06-17 20:42:58
【问题描述】:

我正在开发一个严重依赖传感器数据的应用。因此,我需要一个能够在这些条件下持续感知的框架:

  • 继续感知低内存(在垃圾收集中幸存)
  • 在用户从堆栈中擦除应用程序后继续感知
  • 崩溃后继续感知

问题在于,Android 在垃圾收集方面出了名的残酷。我目前的解决方案是前台服务,这是非常糟糕的做法。我想切换到单例对象,因为服务(即使在前台)没有永生。所以第一个问题很简单:

可以对静态成员进行垃圾回收吗,例如在使用单例时?

【问题讨论】:

    标签: android service garbage-collection singleton


    【解决方案1】:

    静态成员不能被垃圾回收,但应用程序可能会在内存不足的情况下被杀死,这会在重新启动时擦除单例。你想要的并不是 Android 能做到的——你听起来像是想要一个 RTOS。

    【讨论】:

    • 什么时候会删除单例?重启时?或者当用户再次开始交互时?这样的单例会有什么影响?
    • 每当应用程序被杀死并从内存中删除时。这可以是操作系统想要的任何时间,但往往是当它的可用 RAM 不足时。结果将是静态变量是它的默认值——null(对于对象)、0(对于整数)、false(对于布尔值),直到再次初始化。整个应用程序将重新开始。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多