#performance #flutter #dart #profiling
#Производительность #flutter #dart #профилирование
Вопрос:
val timings = TimingLogger("FEED_PROFILE", "reading bitmap frame")
val bitmap = BitmapFactory.decodeByteArray(imageData, 0, imageData.size);
timings.addSplit("converting bytes to bitmap done")
val bmOverlay = Bitmap.createBitmap(bitmap.width, bitmap.height, bitmap.config)
timings.addSplit("reading bitmap done")
timings.dumpToLog()
Приведенные выше результаты
D/FEED_PROFILE( 5019): reading bitmap frame: begin
D/FEED_PROFILE( 5019): reading bitmap frame: 244 ms, converting bytes to bitmap done
D/FEED_PROFILE( 5019): reading bitmap frame: 0 ms, reading bitmap done
D/FEED_PROFILE( 5019): reading bitmap frame: end, 244 ms
Но это код Kotlin / Java. Что нужно Flutter / Dart для достижения аналогичного результата?
В настоящее время я использую
final start = DateTime.now().millisecondsSinceEpoch;
// something
final lapse = DateTime.now().millisecondsSinceEpoch - start;
print('$logId Screenshoot took $lapse ms ${pngBytes.length}');
Но это усложняется, когда я пытаюсь воспроизвести addSplit
. Поэтому я ищу что-то встроенное в Dart или Flutter
Ответ №1:
Я создал плагин, ожидая ответа https://pub.dev/packages/timing_logger