gpt4 book ai didi

android - 如果使用 View.postDelayed() 是否会自动删除可运行对象

转载 作者:行者123 更新时间:2023-11-30 01:42:22 35 4
gpt4 key购买 nike

据我所知,重复调用 Handler.postDelayed()(在同一个 runnable 中再次调用 postDelayed())可能会导致线程持有的某些实例永远不会被释放.

如果我使用 View.postDelayed() 添加一个 runnable,我是否有责任调用 View.removeCallbacks() 来避免内存泄漏?或者当 View 被“销毁”时,runnable 是否会从队列中移除?

最佳答案

Or will the runnable be removed from the queue when the view is "destroyed"?

这是你的责任。 runnable 将卡在队列中,直到您明确将其删除或执行(如果 runnable 未将其自身发布到队列中)。我强烈建议您调用 removeCallbacks。如果您是 View 的子类,您可以使用 onDetachedFromWindow()

关于android - 如果使用 View.postDelayed() 是否会自动删除可运行对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293453/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com