2010-08-26 79 views
0

通常会为每个活动分配和定义诸如线程,服务,内存分配等资源。 因此,资源将分配在Activity.onCreate()上并在Activity.pause()上释放。 这是非常明确的。但是,假设我的资源是按每个应用程序分配的(即我定义了一个服务,这个服务被多个活动使用,或者,我使用NDK在本地层实例化一个线程)。分配这些资源不是问题。它可以简单地在第一个活动开始时完成。问题是 - 这些资源何时应该被释放?我如何知道我的应用程序何时结束? 根据文档:http://developer.android.com/reference/android/app/Application.html#onTerminate() - “注意:永远不要依赖于此方法被调用;在很多情况下,不需要的应用程序进程只会被内核杀死而不执行任何应用程序代码。”释放应用程序资源

任何想法的人?

感谢, 的Eyal

回答

0

构建应用程序,让你在每个活动的的onDestroy()recylce /腾出的东西。更多信息here

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

希望这会有所帮助。