什么"泄漏活动"是什么意思,我该如何预防?

时间:2017-07-05 18:56:47

标签: android android-activity android-context definition

我经常看到像这样的建议,不要这样做,否则你就有可能泄露活动/背景。"

我实际上并不知道"泄漏"意味着或如何知道您有泄漏的风险。任何人都可以详细说明吗?

1 个答案:

答案 0 :(得分:2)

泄漏意味着您正在创建一个对象无法被垃圾收集的情况 - 所以即使活动已经消失,它仍然在内存中并且无法清理 - 即您不必要地浪费内存(称为内存泄漏)。

在这种情况下,基本上它意味着不要创建对活动的引用,这些活动将阻止活动在完成后被垃圾收集。避免将上下文或活动分配给另一个活动,类,服务等中的变量。或者如果您必须具有上下文,请考虑使用弱引用。

即。不要在静态类中存储对活动的强引用,不要在长时间运行的进程中使用对活动的强引用等。