React native 什么是;“捕获堆”;你在开发者菜单中做什么?
React native 什么是;“捕获堆”;你在开发者菜单中做什么?,react-native,react-native-android,React Native,React Native Android,当我点击它的时候,开发者菜单消失了,什么也没发生。谷歌搜索这些选项没有发现任何有用的东西。事实上,google的第一个热门结果是github上包含字符串的strings.xml文件。如果您正在运行的JSC构建是使用带有内存评测的标志编译的(我猜您必须自己编译),那么将有一个方法暴露于JavascriptnativeCaptureHeap(output\u filepath) 为了将所有这些结合在一起并使按钮工作,您需要在Javascript端有一个堆转储提供程序。提供程序是一个具有特定名称的模块
当我点击它的时候,开发者菜单消失了,什么也没发生。谷歌搜索这些选项没有发现任何有用的东西。事实上,google的第一个热门结果是github上包含字符串的strings.xml文件。如果您正在运行的JSC构建是使用带有内存评测的标志
编译的(我猜您必须自己编译),那么将有一个方法暴露于JavascriptnativeCaptureHeap(output\u filepath)
为了将所有这些结合在一起并使按钮工作,您需要在Javascript端有一个堆转储提供程序。提供程序是一个具有特定名称的模块HeapCapture
。当您按下按钮时,它将加载JS转储提供程序,并对其调用captureHeap(path)
转储文件将输出到/capture.json
我发现的一个例子是:
"严格使用",;
var HeapCapture={
captureHeap:函数captureHeap(路径){
var错误=null;
试一试{
全局.nativeCaptureHeap(路径);
log('HeapCapture.captureHeap successed:'+path);
}捕获(e){
log('HeapCapture.capturehear错误:'+e.toString());
错误=e.toString();
}
require('NativeModules').JSCHeapCapture.captureComplete(路径,错误);
}
};
module.exports=HeapCapture;
您是否有幸找到此功能的用途?当我按下此选项时,我在logcat中看到E/JSCHeapCapture:No JSC registered
,因此我假设需要一些JS配置