mirror of
https://github.com/Tencent/Hippy.git
synced 2026-10-28 21:48:13 +08:00
* docs(doc): update doc path * docs(doc): update doc path * docs(doc): update doc path * docs(doc): update doc path * docs(doc): update doc for 3.0 * docs(doc): update doc for 3.0 * docs(doc): update doc for 3.0 * docs(doc): update doc for 3.0 * docs(doc): update doc for 3.0 --------- Co-authored-by: OpenHippy <124017524+open-hippy@users.noreply.github.com>
105 lines
2.1 KiB
Markdown
Executable File
105 lines
2.1 KiB
Markdown
Executable File
# V8 API
|
|
|
|
获取 V8 JS 引擎对象,并操作相关方法。
|
|
|
|
---
|
|
|
|
## GetHeapStatistics
|
|
|
|
获取 js 堆内存信息。
|
|
|
|
> 最低支持版本 `2.15.0`
|
|
|
|
``` java
|
|
V8 v8 = mHippyEngine.getV8();
|
|
if (v8 != null) {
|
|
boolean success = v8.getHeapStatistics(new Callback<V8HeapStatistics>() {
|
|
@Override
|
|
public void callback(V8HeapStatistics param, Throwable e) {
|
|
if (param != null) {
|
|
// success
|
|
} else {
|
|
// error
|
|
}
|
|
}
|
|
});
|
|
if (!success) {
|
|
// error
|
|
}
|
|
}
|
|
```
|
|
|
|
## GetHeapCodeStatistics
|
|
|
|
获取js堆中代码及其元数据的统计信息。
|
|
> 最低支持版本 `2.15.0`
|
|
|
|
``` java
|
|
V8 v8 = mHippyEngine.getV8();
|
|
if (v8 != null) {
|
|
boolean success = v8.getHeapCodeStatistics(new Callback<V8HeapCodeStatistics>() {
|
|
@Override
|
|
public void callback(V8HeapCodeStatistics param, Throwable e) {
|
|
if (param != null) {
|
|
// success
|
|
} else {
|
|
// error
|
|
}
|
|
}
|
|
});
|
|
if (!success) {
|
|
// error
|
|
}
|
|
}
|
|
```
|
|
|
|
## GetHeapSpaceStatistics
|
|
|
|
返回堆各个空间的统计信息。
|
|
> 最低支持版本 `2.15.0`
|
|
|
|
``` java
|
|
V8 v8 = mHippyEngine.getV8();
|
|
if (v8 != null) {
|
|
boolean success = v8.getHeapSpaceStatistics(new Callback<V8HeapSpaceStatistics>() {
|
|
@Override
|
|
public void callback(V8HeapSpaceStatistics param, Throwable e) {
|
|
if (param != null) {
|
|
// success
|
|
} else {
|
|
// error
|
|
}
|
|
}
|
|
});
|
|
if (!success) {
|
|
// error
|
|
}
|
|
}
|
|
```
|
|
|
|
## WriteHeapSnapshot
|
|
|
|
生成一个堆快照(可导入Chrome浏览器开发者工具分析)。
|
|
> 最低支持版本 `2.15.0`
|
|
|
|
``` java
|
|
V8 v8 = mHippyEngine.getV8();
|
|
if (v8 != null) {
|
|
File hippyFile = FileUtils.getHippyFile(mHippyEngine.getEngineContext().getGlobalConfigs().getContext());
|
|
String snapshotPath = hippyFile.getAbsolutePath() + File.separator + "snapshot" + File.separator + "1.heapsnapshot";
|
|
boolean success = v8.writeHeapSnapshot(snapshotPath, new Callback<Integer>() {
|
|
@Override
|
|
public void callback(Integer param, Throwable e) {
|
|
if (param == 0) {
|
|
// success
|
|
} else {
|
|
// error
|
|
}
|
|
}
|
|
});
|
|
if (!success) {
|
|
// error
|
|
}
|
|
}
|
|
```
|