Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我们是否应该期望在调试期间动画性能不佳_Android_React Native - Fatal编程技术网

Android 我们是否应该期望在调试期间动画性能不佳

Android 我们是否应该期望在调试期间动画性能不佳,android,react-native,Android,React Native,很抱歉,如果这个问题太琐碎,我真的找不到一个更好的本地专家社区来提问 在Android上调试我的应用程序(通过“react native run Android”运行)时,我注意到动画有一种起伏的感觉。这并不可怕,但肯定有点滞后。这种情况发生在切换选项卡、浮动操作按钮和更改视图等情况下 这是不是因为我在调试模式下运行,有热重新加载之类的功能?还是我应该担心?我可以做些什么来提高性能。JS是一个单线程环境,您所说的操作通常会导致JS线程负载过重。由于react native中的大多数动画都是还是非

很抱歉,如果这个问题太琐碎,我真的找不到一个更好的本地专家社区来提问

在Android上调试我的应用程序(通过“react native run Android”运行)时,我注意到动画有一种起伏的感觉。这并不可怕,但肯定有点滞后。这种情况发生在切换选项卡、浮动操作按钮和更改视图等情况下


这是不是因为我在调试模式下运行,有热重新加载之类的功能?还是我应该担心?我可以做些什么来提高性能。

JS是一个单线程环境,您所说的操作通常会导致JS线程负载过重。由于react native中的大多数动画都是还是非本机的-在执行某些任务时,您会看到起伏的动画。此问题在调试模式下更为明显

没有一个本机动画执行得不好,因为它们在Js中插入动画值,并调用本机方法(通过桥接)来更新动画视图

有两件事可能会占用你的应用程序

  • 日志在调试中启用,每个
    控制台。log
    通过网桥调用本机
    log
    方法。您拥有的
    console.log
    越多,桥接器就会越忙。这大大降低了调试的性能

  • Js动画只是没有表现出来。我知道Facebook的好朋友们在把动画下载到本地方面投入了很多。我想,
    NavigatorExperimental
    就是这么做的


  • 您可能需要研究哪个提供了完全本机导航解决方案,以完全避免这些问题。我只是一个免责声明,我是该项目的开发人员之一。

    在调试过程中,正在执行其他任务,例如创建警告和验证PropType。这些任务会影响性能。当您在生产环境中运行应用程序时,您将看到自动的性能改进

    为了查看应用程序在生产环境中的性能,您可以通过以下方式禁用JS Dev模式:

  • 在emulator中打开开发者菜单(命令⌘ + M) 或者在物理设备上(晃动设备或运行
    adb外壳输入键事件82
    (对于设备使用
    -d
    ,对于模拟器使用
    -e
  • 选择开发设置并取消选中JS开发模式
  • 最后,按两次R重新加载js包
  • 禁用开发模式通常是必要的,例如在开发动画时。禁用JS-Dev模式也是您的一项先决条件


    一个有趣的读物是React-Native的文档,其中部分解决了此问题。

    是的,程序在调试时通常运行较慢。不过,React-Native是特别的吗?不是特别的否,但通常是。这可能更依赖于系统和调试器,而不是其他任何东西。