NativeScript 性能监控
测量并显示帧率(FPS)和(iOS上的)CPU使用率。
npm i --save nativescript-performance-monitor

NativeScript 性能监控

测量并显示帧率(FPS)和(iOS上的)CPU使用率!

Demo video on YouTube

20秒视频,展示了在iOS和Android上的插件效果

安装

从命令行进入你的应用根目录并执行

tns plugin add nativescript-performance-monitor

开始监控

添加插件后,你可以从代码中开始监控。你也可以传递一些选项(选项对象本身也是可选的)

选项 iOS? Android? 描述
onSample? :white_check_mark :white_check_mark 在每次样本上被调用的回调函数。如果你不想使用此插件的默认UI,你可以使用这个来渲染你自己的UI。请参阅下面的示例以获取函数规范。
hide? :white_check_mark :white_check_mark 设置为 true 如果你不想显示默认UI。因此,你可以自行渲染或完全进入隐身模式。
textColor? :white_check_mark :white_check_mark 监控视图的文本颜色(默认白色)。
backgroundColor? :white_check_mark :white_medium_square 监控视图的背景颜色(默认黑色)。
borderColor? :white_check_mark :white_medium_square 监控视图的边框颜色(默认黑色)。

TypeScript

import { PerformanceMonitor, PerformanceMonitorSample } from 'nativescript-performance-monitor';
import { Color } from "color";

const performanceMonitor: PerformanceMonitor = new PerformanceMonitor();

// this would suffice..
performanceMonitor.start();

// .. but we want to show off the options ;)
performanceMonitor.start({
textColor: new Color("white"),
backgroundColor: new Color("black"),
borderColor: new Color("black"),
hide: false,
onSample: (sample: PerformanceMonitorSample) => {
console.log("FPS: " + sample.fps);
if (sample.cpu) { // iOS only
console.log("CPU %: " + sample.cpu);
}
}
});

JavaScript

var perfMon = require("nativescript-performance-monitor");
var color = require("color");

var performanceMonitor = new perfMon.PerformanceMonitor();

performanceMonitor.start({
textColor: new color.Color("white"),
backgroundColor: new color.Color("black"),
borderColor: new color.Color("black"),
hide: false,
onSample: function (sample) {
console.log("FPS: " + sample.fps);
if (sample.cpu) { // iOS only
console.log("CPU %: " + sample.cpu);
}
}
});

停止监控

要停止接收测量并隐藏监控UI,你可以简单地这样做

performanceMonitor.stop();

与Angular一起使用

在任意组件中,甚至是 app.module.ts 中添加

import { PerformanceMonitor } from "nativescript-performance-monitor";

export class MyComponent {
// use the constructor, or OnInit, or trigger from a button, or whatever really
constructor() {
new PerformanceMonitor().start({
// options
});
}
}

已知问题(Android)

  • 当在较新的Android版本上使用默认UI显示Toast时可能会崩溃。
  • 当应用暂停/恢复时,UI将隐藏。