搜尋套件、儲存庫與 APP 分類

套件詳情v1.1.0+3

fps_jank_flash_widget

一個 Flutter 小部件,當 Flutter 在特定時間內無法渲染幀時會閃爍。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
8
喜歡數
22
Pub 分數
160

安裝套件

flutter pub add fps_jank_flash_widget

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

fps_jank_flash_widget 是一個 Flutter 性能監控工具,當應用程式無法在指定時間內渲染幀時,會以視覺閃爍的方式提示。專為開發者設計,可即時突出顯示卡頓或無回應的 UI 時刻,幫助識別渲染瓶頸。該組件可無縫整合到所有主要平台——Android、iOS、Web、macOS、Windows 和 Linux,適用於開發和測試階段。尤其適用於診斷幀率下降問題,並優化動畫或複雜佈局。

適用情境

  • 即時性能除錯
  • 識別動畫過程中的UI卡頓
  • 在不同設備上測試應用程式之回應性
  • 優化複雜的組件樹
  • 監控幀率一致性

主要特色

  • 丟幀的視覺閃爍指示器
  • 跨平台相容性
  • 可設定的卡頓檢測閾值
  • 使用 pub add 進行最小化設定
  • 無需額外工具的執行時反饋

適合對象

  • Flutter 開發人員排錯效能問題
  • 專注於流暢使用者介面體驗的團隊
  • 應用測試人員驗證幀率穩定性
  • 用於學習幀渲染的教育用途

使用建議

  • 不建議用於生產建構
  • 可能在使用者測試期間造成分心
  • 需要手動啟用
  • 僅限視覺反饋
  • 高頻率情境下的效能開銷

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

FPS Jank Flash widget

A flutter widget that flashes when flutter fails to render a frame in a certain timeframe

lesnitsky.dev GitHub stars Twitter Follow

Installation

flutter pub add fps_jank_flash_widget
flutter packages get

Usage

import 'package:fps_jank_flash_widget/fps_jank_flash_widget.dart';

void main() {
  const frameBudget = Duration(milliseconds: 17); // 60 fps
  FPSJankFlash.frameBudget = frameBudget;

  runApp(FPSJankFlash.overlay(child: const MyApp()));
}

FPSJankFlash could be used directly:

import 'package:fps_jank_flash_widget/fps_jank_flash_widget.dart';

class SomeWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: [
        Column(
         children: [
            /// ... your widgets,
          ],
        ),
        const FPSJankFlash(),
      ]
    );
  }
}

You can also use a JankObserver:

import 'package:fps_jank_flash_widget/fps_jank_flash_widget.dart';

void main() {
  JankObserver.addListener(() {
    print('jank detected');
  });

  runApp(YourApp());
}

If you're testing the app on a higher refresh rate displays, override the frame duration budget:

import 'package:fps_jank_flash_widget/fps_jank_flash_widget.dart';


void main() {
  const refreshRate = 120;
  final budgetMs = 1000 ~/ refreshRate;
  FPSJankFlash.frameBudget = Duration(milliseconds: budgetMs);

  runApp(FPSJankFlash.overlay(child: const MyApp()));
}

License

MIT

lesnitsky.dev GitHub stars Twitter Follow

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。