LoginActivity
使用Smart Lock登录。 我将LoginActivity
作为startActivityForResult
启动。我对Smart Lock是否有凭证感兴趣,如果一切正常,则返回RESULT_OK
。然后我拨打finish()
:
loginActivityViewPresenter.setResult(RESULT_OK)
loginActivityViewPresenter.finish()
在此之后,调用onDestroy()
。我们假设这是实例@7161
。
然后我退出,我想再次登录,同一个实例位于顶部@7161
。
isDestroyed()
或isFinishing()
等函数始终为真。
为什么?
答案 0 :(得分:1)
看起来你正在使用的AsyncTasks或其他一些对象保留是对你的活动的引用,而android框架在你再次启动它时会使用现有的活动。
您可以在完成活动并查看对此活动的引用后执行堆转储来确定这一点。
您还可以使用名为Leak Canary的工具。