释放应用程序资源

时间:2010-08-26 06:31:23

标签: android

通常,每个Activity都会分配和定义线程,服务,内存分配等资源。 因此,资源将在Activity.onCreate()上分配,并在Activity.pause()上释放。 这个定义非常明确。

但是,假设我的资源是按应用程序分配的(即我定义了一个由多个活动使用的服务,或者,我使用NDK在Native层中实例化一个线程)。分配这些资源不是问题。它可以在第一个Activity开始时完成。问题是 - 什么时候应该释放这些资源?我怎么知道我的申请何时结束? 根据文档:http://developer.android.com/reference/android/app/Application.html#onTerminate() - “注意:永远不要依赖于调用此方法;在许多情况下,不需要的应用程序进程将被内核杀死而不执行任何应用程序代码。”

任何想法?

谢谢, Eyal

1 个答案:

答案 0 :(得分:0)

构建您的应用程序,以便在每个活动的onDestroy()中重新开发/释放内容。更多信息here

使用startActivityforResult,您可以在程序中创建层次结构,以便在销毁所有子项之前不会删除父项使用的资源。

希望这有帮助。