gpt4 book ai didi

java - 使用什么代替 postDelayed 来节省内存

转载 作者:行者123 更新时间:2023-12-01 15:16:08 25 4
gpt4 key购买 nike

在我的应用程序中,我使用具有多个可运行对象的处理程序。为了调用这些可运行对象,我循环 postDelayed,以便它们充当计时器。我意识到随着时间的推移,这会生成一个巨大的堆(10mb,并且还在不断增加)。所以我的问题是我可以使用什么来代替不会生成大量消息的 postDelayed ?

最佳答案

您的可运行对象不太可能消耗如此多的内存。每个可运行实例在处理后都应该被 GC 清除。如果您创建和发布可运行的速度比它们执行的速度更快,您将收到 ANR,因为您的 UI 线程将无法调度输入事件。如果您经常创建新的可运行对象,则会导致 GC 更频繁地触发,但您的堆不应增长。

您的应用程序中更有可能存在内存泄漏。您可以使用 MAT 来检查 java 堆中究竟是什么消耗了大量内存。

关于java - 使用什么代替 postDelayed 来节省内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582571/

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