答案 0 :(得分:2)
Flutter实际上具有内置功能,可完全您在DevTools inspector中要实现的目标:
这称为 Repaint Rainbow (重绘彩虹),可以在Android Studio(即IntelliJ)中启用,如上面所示,也可以直接在Dart DevTools中启用:
重新绘制时在图层上显示旋转的颜色。
有很多原因可以进行重新绘制,并且看到小部件重建并不是从本质上意味着您触发了重建,因为它也可能来自树中的其他地方。
您不知道是否已在代码中重建了窗口小部件,因为这与框架的工作方式背道而驰-您显然可以通过将其集成到build
或{{1}中来捕获任何构建或绘画调用}功能,但您实际上不应该这样做,因为构造和绘制应该是幂等的 。
答案 1 :(得分:0)
每次重新构建小部件时,build()
被称为print()
,因此您可以在build()
中写一个const functions = require('firebase-functions');
// // Create and Deploy Your First Cloud Functions
// // https://firebase.google.com/docs/functions/write-firebase-functions
exports.addNumbers = functions.https.onCall((data) => {
const firstNumber = data.firstNumber;
const secondNumber = data.secondNumber;
if (!Number.isFinite(firstNumber) || !Number.isFinite(secondNumber)) {
// Throwing an HttpsError so that the client gets the error details.
throw new functions.https.HttpsError('invalid-argument', 'The function must be called with ' +
'two arguments "firstNumber" and "secondNumber" which must both be numbers.');
}
return {
firstNumber: firstNumber,
secondNumber: secondNumber,
operator: '+',
operationResult: firstNumber + secondNumber,
};
});
并跟踪何时重新构建小部件
答案 2 :(得分:0)
答案 3 :(得分:-1)
您可能不知道,也不要自己造一个词来自己获得该价值。
这是反模式,因为小部件的重建次数应该从不对输出产生影响。