DEV Community

Cover image for Flutter RepaintBoundary
Gülsen Keskin
Gülsen Keskin

Posted on • Updated on

Flutter RepaintBoundary

RepaintBoundary, uygulamanızın widget hiyerarşisinin bir alt ağacında yeniden boyamaya neden olan değişiklikleri izole etmek için kullanılabilen Flutter çerçevesindeki bir widget'tır. Bir değişiklik meydana geldiğinde yeniden boyanması gereken widget sayısını sınırlayarak uygulama performansını arttırmaya yardımcı olur.

RepaintBoundarywidget'ını kullanmak için izole etmek istediğiniz widget'ı RepaintBoundary widget'ı ile sarmanız gerekir. Bu widget ağacında RepaintBoundary widget'ı ile sardığınız widget'ı izole ederek bu widget'ta meydana gelen değişikliklerin ağaçtaki diğer widgetların yeniden boyamasını önlemeye yardımcı olur.

İşte Flutter uygulamanızda RepaintBoundary'yi nasıl kullanabileceğinize dair bir örnek:

debugRepaintRainbowEnabled özelliğini true olarak ayarlayın.

void main() {
  debugRepaintRainbowEnabled = true;
  runApp(const MyApp());
}
Enter fullscreen mode Exit fullscreen mode

Daha sonra izole etmek istediğiniz widget'ı RepaintBoundary widget'ı ile sarın.

RepaintBoundary(
  child: MyWidget(),
)
Enter fullscreen mode Exit fullscreen mode

Tam örnek

RepaintBoundary kullanmanın uygulamanızın performansını her zaman iyileştirmeyeceğini unutmamak önemlidir.Bu nedenle, uygulamanızda RepaintBoundary'yi nerede ve ne zaman kullanacağınızı dikkatlice düşünmeniz önemlidir.

Her şeyi bir RepaintBoundry içine koymadan önce RepaintBoundry'nin küçük bir maliyeti olduğunu ve CPU ve bellek tüketimini arttırabileceğini unutmayın!

Kaynaklar :)
https://www.youtube.com/watch?v=cVAGLDuc2xE
https://api.flutter.dev/flutter/widgets/RepaintBoundary-class.html
https://dartpad.dev/?id=446ab37078c59d8dcb688c9d5f1eb7f4
https://chat.openai.com/chat

Top comments (0)