有没有办法知道我们的本机应用程序运行良好?
尽管我知道有一个perf monitor
,当我启用Perf Monitor
时,有些选项我不知道它们是什么意思。
150 dropped so far
like:12 stutters (4+) so far
最后,fps
本身在本机反应中是什么?
答案 0 :(得分:1)
FPS表示“每秒帧”。大多数情况下,“流畅”应用应以60fps的速度运行。如今,大多数电话都具有60hz的显示屏(这意味着它们每秒仅刷新60次),因此,只有高端电话才能在一秒钟内显示60帧以上。您可以采取一些措施来确保RN应用以最佳速度运行。
您可能已经知道,跨过“桥梁”(Javascript-> Native)的速度很慢,并且会导致停顿/ FPS降低。那里有很多材料详细解释了这座桥的工作原理,因此我不会在此赘述。尝试最小化在屏幕过渡或动画过程中完成的工作量(特别是跨桥)。您可以使用InteractionManager
API来做到这一点。进一步了解here。
别忘了阅读Performance上的官方文档。
如果在打开新屏幕后立即注意到延迟,请尝试推迟渲染,直到屏幕完全过渡到视口中为止。如何执行此操作的示例:
import { View, InteractionManager } from 'react-native';
class Example extends Component {
constructor(props) {
super(props);
this.state = { ready: false };
}
componentDidMount() {
// After all interactions have been finished we swich the "ready" state variable to true, and only then your component will be rendered.
InteractionManager.runAfterInteractions(() => {
this.setState({ ready: true });
})
}
render() {
if (!this.state.ready) {
return;
}
// Render only when this.state.ready is true (after all interactions have been finalised);
return (
<View></View>
);
}
}