答案 0 :(得分:0)
如果您正在运行的JSC构建是用标志WITH_FB_MEMORY_PROFILING
编译的(我想您必须自己编译),那么将有一个暴露给Javascript nativeCaptureHeap(output_filepath)
的方法。
为了将它们绑在一起并使按钮正常工作,您需要在Javascript端具有堆转储提供程序。提供程序是具有特定名称HeapCapture
的模块。当您按下按钮时,它将加载JS转储提供程序,并在其上调用captureHeap(path)
。
转储文件将输出到<path>/capture.json
我发现的一个例子:
'use strict';
var HeapCapture = {
captureHeap: function captureHeap(path) {
var error = null;
try {
global.nativeCaptureHeap(path);
console.log('HeapCapture.captureHeap succeeded: ' + path);
} catch (e) {
console.log('HeapCapture.captureHeap error: ' + e.toString());
error = e.toString();
}
require('NativeModules').JSCHeapCapture.captureComplete(path, error);
}
};
module.exports = HeapCapture;