从我的app启动的另一个应用程序使用相同的堆

时间:2015-01-21 11:55:00

标签: android performance memory static-members android-lifecycle

我正在从我的应用程序启动例如:Box app的应用程序。推出盒子应用程序。我的应用程序转到后台,当我回到我的应用程序时,由于内存问题,所有静态对象(如数据库实例和静态模型)都会重置。 我应该如何处理这个。我明白onsaveinstancestate可以使用。但在我的情况下,我必须坚持许多静态模型和数据库instamces等,我认为不应该在onsavedinstancestate举行。 我还注意到的另一件事是盒子应用程序使用相同的堆来创建对象,并且分配的堆和可用内存被更改。为什么会这样?它在不同的进程中运行。

1 个答案:

答案 0 :(得分:0)

新堆:https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

数据库和静态实例:

你无能为力。每当系统需要内存时,它将回收内存。您必须学习如何正确处理数据库连接,单例和活动生命周期。