Android在销毁

时间:2018-01-03 14:18:50

标签: android

  • 我正在使用LoginActivity使用Smart Lock登录。
  • 我将LoginActivity作为startActivityForResult启动。我对Smart Lock是否有凭证感兴趣,如果一切正常,则返回RESULT_OK。然后我拨打finish()

    loginActivityViewPresenter.setResult(RESULT_OK)
    loginActivityViewPresenter.finish()
    

在此之后,调用onDestroy()。我们假设这是实例@7161

然后我退出,我想再次登录,同一个实例位于顶部@7161

isDestroyed()isFinishing()等函数始终为真。

为什么?

1 个答案:

答案 0 :(得分:1)

看起来你正在使用的AsyncTasks或其他一些对象保留是对你的活动的引用,而android框架在你再次启动它时会使用现有的活动。

您可以在完成活动并查看对此活动的引用后执行堆转储来确定这一点。

您还可以使用名为Leak Canary的工具。