大佬教程收集整理的这篇文章主要介绍了为什么我们的 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 手机仍然很慢。
指导
我们一直在尝试和修复许多不同的部分。任何人都有提示、想法和建议,以找出导致 AndroID 手机运行缓慢的原因?
一般信息
npm 软件包: 反应:17.0.1 反应原生:0.64.2
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?全部内容,希望文章能够帮你解决为什么我们的 ReactNative 应用在 Android 手机上使用时会变慢?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。