Android内存管理:引擎作为Singleton?

时间:2012-10-19 08:58:06

标签: java android android-memory

我正在通过Android开发解决一些内存问题。

我想知道我的实际模型是否可行,并且还想在如何上以更好的方式做一些输入:

  • 我需要public static final 全局
  • 我需要永远不会收集垃圾的public 全局变量
  • 我需要运行引擎,如果没有我调用stop()
  • 就永远无法销毁
MainApplication : Application
  public static final Boolean DEBUG = false;
  onCreate()
    Engine.getEngine().prepare()

  MainActivity : Activity
    onResume()
      Engine.getEngine().start()
    onPause()
      Engine.getEngine().stop()

Engine
  prepare()
    MainApplication.DEBUG = true;
  start()
    LocationManager.requestLocationUpdates()
  stop()
    LocationManager.removeUpdates()

Engine是Singleton类,接收位置更新等。

必须释放我的Engine类而不是DEBUG变量。

1 个答案:

答案 0 :(得分:0)

  • 对于“类型1”常量,请使用包含public static final T NAME = Val; - 声明的专用公共类。

  • 对于引擎,我建议使用服务。

  • 对于您的“第2类”变种,Service可以提供,您可以使用SQLite

我看到有一些“位置”-Stuff正在那里......开发者网站在使用位置服务方面有一些很好的“最佳实践”。也许你会得到更多灵感。

相关问题