我使用Firebase Performance Monitoring SDK(在Android上,但也会在iOS上使用),对于一个特定的用例,很难知道是否会停止启动Trace 。鉴于如何取消已经运行的跟踪没有明显的方法,我认为我只是每次都启动它,然后最终只在适当的情况下停止它。 (并保持完好无损)。
我希望问题吗?我想如果没有停止跟踪就不会被记录(这就是我需要的东西),但是我害怕内存泄漏以及一些资源浪费。
我还可以清除对跟踪的引用,并希望让GC扫描它(假设Firebase不存储对每个正在运行的跟踪的引用)
答案 0 :(得分:2)
如果你开始跟踪但从未停止过,那么Trace对象会因为等待你停止它而泄漏很少的内存。这可能不是什么大问题,但泄漏是泄漏。如果要放弃跟踪,清除引用将允许对其进行垃圾回收。