程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢??

开发过程中遇到为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?的问题如何解决?下面主要结合日常开发的经验,给出你关于为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?的解决方法建议,希望对你解决为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?有所启发或帮助;

性能问题

我们在使用 ReactNative 应用程序 unblnd.com/app 时遇到了性能问题。 使用该应用几分钟后(安装后),该应用在大多数 AndroID 手机上开始变慢。

做了什么?

A) API 请求

一些 API 请求有点慢,但查询已得到改进。查询不会影响 iPhone 上的应用性能。结论可能是 API 请求没有使应用程序滞后。

我们将在 AWS 中临时提升我们的服务器,以完全确保这不会导致问题。

B) 导航

我们发现一些消息来源指出 react-navigation v5 会很慢。因此,我们查看了导航堆栈,但我们在 react navigation v4 和 v5 中获得了类似的缓慢性能:

@react-navigation/native: ^5.9.4
@react-navigation/stack: ^5.14.5
---
react-navigation: ^4.4.4
react-navigation-stack": ^2.10.4

C) 缓存/内存

使用应用程序时,缓存大小从 0MB 增加到 12MB。该应用程序可能已经从 3MB 缓存大小开始变慢。由于其他应用可能会占用超过 1GB 的缓存数据大小,因此这是否会阻塞流量似乎令人怀疑。

D) 反应上下文

我们有一个广泛的聊天系统。所有与聊天相关的屏幕都被包装到一个反应上下文中。我们一直在将存储的数据清理到上下文中,但是对于没有太多聊天数据缓存在上下文中的用户来说,应用程序可能会很慢。因此,重复渲染过多会导致问题吗?

<ChatContext.ProvIDer value={{...}}>
    <Stack.Navigator>
        <Stack.Screen ...>
        x 20
    </Stack.Navigator>
</ChatContext.ProvIDer>

React 上下文中有 20 个屏幕。在上下文方面有什么好的做法吗?

要做的:

  • 我们将制作一个没有上下文的应用版本;
  • 我们如何监控这些(潜在的)渲染?

E) 监控

我们开始使用 Sentry Monitoring。没有提出具体问题。在 PerfoRMANce 中,仅显示 http 请求。有时它只是说明导航,有时缺少集成。

使用 FlatList 得到

VirtualizedLists 不应该嵌套在普通的 ScrollVIEws 中 相同的方向,因为它可以打破窗口和其他 功能 - 改用另一个 VirtualizedList 支持的容器。

我们可以尝试解决这个问题,但这不会导致整个应用程序的导航被阻止?

F) 内存泄漏

最明显的就是看症状。但是真的很难找出导致这种内存泄漏的原因。

在 Sentry 中,我们刚刚发现了一条有关内存泄漏的线索。我们只是禁用了这个组件,但 AndroID 手机仍然很慢。

为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?

指导

我们一直在尝试和修复许多不同的部分。任何人都有提示、想法和建议,以找出导致 AndroID 手机运行缓慢的原因?

一般信息

npm 软件包: 反应:17.0.1 反应原生:0.64.2

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?全部内容,希望文章能够帮你解决为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。