Android 每项活动结束后进行清洁';吃喝玩乐

Android 每项活动结束后进行清洁';吃喝玩乐,android,android-activity,optimization,code-cleanup,Android,Android Activity,Optimization,Code Cleanup,在我的应用程序中,我有许多活动,其中一些活动在移动到新活动时已完成(),一些活动保留在堆栈中,以便我可以导航回去 现在我想确保以正确的方式整理代码 那么我该如何清理,在哪里清理呢 字符串(这些字符串是否需要为空? ArrayList(这些是否需要取消? 库类实例 自定义类实例 内部类实例(静态) 我是否总是在onDestroy或onPause()中清理,在onResume中重新创建,以及在从一个活动移动到另一个活动时保存实例数据 有没有什么好文章能涵盖所有这些内容。如果您对GarbageColl

在我的应用程序中,我有许多活动,其中一些活动在移动到新活动时已完成(),一些活动保留在堆栈中,以便我可以导航回去

现在我想确保以正确的方式整理代码

那么我该如何清理,在哪里清理呢

字符串(这些字符串是否需要为空?
ArrayList(这些是否需要取消?
库类实例
自定义类实例
内部类实例(静态)

我是否总是在onDestroy或onPause()中清理,在onResume中重新创建,以及在从一个活动移动到另一个活动时保存实例数据


有没有什么好文章能涵盖所有这些内容。

如果您对GarbageCollector自动处理它感到满意,那么答案是否定的。需要记住的一点是,您不希望任何静态内容在活动中保留对任何对象的引用。这是内存泄漏,因为GC无法为您清理这些资源。@AndrejJurkin您能否解释静态部分并给出一个示例,因为我相信我确实存在内存泄漏,然后您肯定应该使用它进行测试。假设您有一些C类,它有一些静态字段,例如公共静态上下文;在你的活动中,你称之为C.context=this;因此,现在您的活动是从静态字段引用的,因此GC无法完成工作,因此,在您手动清理之前,您的活动无法进行GC。@AndrejJurkin you我的朋友是上帝!金丝雀真了不起!