Javascript 内存增长是本机的

Javascript 内存增长是本机的,javascript,android,react-native,Javascript,Android,React Native,我的应用程序只包含一个主屏幕,并且应该运行很长一段时间(在kiosk模式下,持续数周) 过了一段时间,我注意到它由于内存增长而崩溃(它变成了500000K)。 我开始研究这个bug,并创建了这个应用程序的简化版本:它所做的一个组件就是每500毫秒更改一次用户界面,并在夜间运行 我的组件代码: import React, {useEffect, useState} from 'react'; import {StyleSheet, View, Text} from 'react-native';

我的应用程序只包含一个主屏幕,并且应该运行很长一段时间(在kiosk模式下,持续数周)

过了一段时间,我注意到它由于内存增长而崩溃(它变成了500000K)。 我开始研究这个bug,并创建了这个应用程序的简化版本:它所做的一个组件就是每500毫秒更改一次用户界面,并在夜间运行

我的组件代码:

import React, {useEffect, useState} from 'react';
import {StyleSheet, View, Text} from 'react-native';


let counter = 0;

const Home = ({
}) => {
  // State
  const [param1, setParam1] = useState(0);
  const [param2, setParam2] = useState(0);
  const [param3, setParam3] = useState(0);
  const [param4, setParam4] = useState(0);
  const [param5, setParam5] = useState(0);
  const [param6, setParam6] = useState(0);

  // Effects
  useEffect(() => {
    // <- component did mount + unmount equivalent
    const interval = setInterval(() => {
      counter += 1;
      setParam1(counter)
      setParam2(counter)
      setParam3(counter)
      setParam4(counter)
      setParam5(counter)
      setParam6(counter)
    }, 500);

    return () => {
      clearInterval(interval)
    };
  }, []);

  const connectivitySummary = () => {
    return (
      <View>
        <Text>{param1}</Text>
        <Text>{param2}</Text>
        <Text>{param3}</Text>
        <Text>{param4}</Text>
        <Text>{param5}</Text>
        <Text>{param6}</Text>
      </View>
    );
  };

  return (
    <View style={{flex: 1}}>
      <View>{connectivitySummary()}</View>
    </View>
  );
};

export default Home;
import React,{useffect,useState}来自“React”;
从“react native”导入{样式表、视图、文本};
设计数器=0;
康斯特之家=({
}) => {
//陈述
const[param1,setParam1]=useState(0);
const[param2,setParam2]=useState(0);
常量[param3,setParam3]=useState(0);
const[param4,setParam4]=useState(0);
const[param5,setParam5]=useState(0);
const[param6,setParam6]=useState(0);
//影响
useffect(()=>{
//  {
计数器+=1;
setParam1(计数器)
setParam2(计数器)
setParam3(计数器)
设置参数4(计数器)
设置参数5(计数器)
设置参数6(计数器)
}, 500);
return()=>{
清除间隔(间隔)
};
}, []);
const connectivitySummary=()=>{
返回(
{param1}
{param2}
{3}
{param4}
{param5}
{param6}
);
};
返回(
{connectivitySummary()}
);
};
导出默认主页;
结果是:

当我开始运行这个应用程序时,内存使用量大约为46000K

夜间运行后,内存使用量214338K

有人能告诉我我错过了什么吗?为什么会出现这种巨大的内存增长

关于setInterval:我知道setInterval可能会导致内存泄漏,但GC假定会清除它(请检查)

React本机版本:0.60.5

谢谢你的帮助