Flutterで中央寄せで表示するときにどのWidgetがパフォーマンスいいのか調べてみた

こんにちは、株式会社Pentagonでアプリ開発をしている石渡港です。

今日は、Flutterで中央寄せで表示するときにどのWidgetがパフォーマンスいいのか調べてみたので簡単にまとめたいと思います。※ 再描画をした際の表示に関しては調べていないです。

目次

■ 計測方法

Android Studio > View > Tool Windows > Flutter PerformancePerformance Overlay を表示10回リビルドにて再描画

■ 結果

Container >  Align ≧ Center

▼ Container

12.0 ms/frame

class MyHomePage extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return Scaffold(
     appBar: AppBar(
       title: Text('test'),
     ),
     body: Container(
       alignment: Alignment.center,
       child: Text('test'),
     ),
   );
 }
}

https://assets.st-note.com/production/uploads/images/55304117/picture_pc_1c5bb6c9141103a93cb7d953355c85d6.png?width=800

▼ Align

15.2 ms/frame

class MyHomePage extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return Scaffold(
     appBar: AppBar(
       title: Text('test'),
     ),
     body: Align(
       alignment: Alignment.center,
       child: Text('test'),
     ),
   );
 }
}

https://assets.st-note.com/production/uploads/images/55304046/picture_pc_93e5e58fe5dec11775a3fe09facb5366.png?width=800

▼ Center

15.6 ms/frame

class MyHomePage extends StatelessWidget {
 @override
 Widget build(BuildContext context) {
   return Scaffold(
     appBar: AppBar(
       title: Text('test'),
     ),
     body: Center(
       child: Text('test'),
     ),
   );
 }
}

https://assets.st-note.com/production/uploads/images/55304072/picture_pc_ebce0d994bfdc4c15992d080251fdd37.png?width=800

■ まとめ

意外とContainerが早い個人的にはCenter使いがち…次回以降にもう少し詳しく調べてみたい🤔

採用情報はこちら
目次