我最初在完成的应用程序中注意到此问题,但是已经安装了默认的react-native应用程序进行测试,并且即使没有任何反应,我也看到性能监视器中的“到目前为止掉线”数一直在增加。
这个数字应该不断增加吗?
最佳答案
是的,尽管它并不总是恒定的。
(我假设您将常数表示为相同的值,尽管如果只是表示它永不停止,则可以忽略其作用背后的额外解释。)
要了解dropped so far
的逻辑,可以查看React Native codebase。您可以在FpsView.java file中找到性能监视器的代码。在其中,您可以看到droppedUIFrames
代码(line 67)使用了什么变量(dropped so far
)。如果一直沿用此方法,则会进入FPSMonitorRunnable
类,该类使用mTotalFramesDropped
变量来跟踪到目前为止丢失的帧(line 79)。在此类中,您只有一个循环来更新所报告的变量。您感兴趣的那一行是line 90上的这一行:
mTotalFramesDropped += mFrameCallback.getExpectedNumFrames() - mFrameCallback.getNumFrames();
从中可以看出,是的,该值只是一个计数器,只会增加,而在性能监视器运行时不会重置。您还可以看到它不是常数(固定值)。在您的情况下,它可能恰好显示为常量,因为您位于“ hello world”屏幕上,没有任何有趣的事情发生。
关于performance - React Native“到目前为止”下降的性能监视器数量不断增加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46172562/