Linux服务器被蹭流量了?5分钟用iftop命令揪出‘内鬼’与异常连接
2026/6/2 9:05:37
Flutter 应用性能优化涉及多个方面,包括渲染性能、内存管理、网络请求等。
// 好 const Text('Hello'); const SizedBox(height: 16); // 不好 Text('Hello'); SizedBox(height: 16);class ExpensiveWidget extends StatelessWidget { const ExpensiveWidget({super.key}); @override Widget build(BuildContext context) { // 复杂计算 return Container(); } } // 使用 const 避免重建 const ExpensiveWidget()ListView.builder( itemBuilder: (context, index) { return MyListItem( key: ObjectKey(items[index]), data: items[index], ); }, )RepaintBoundary( child: CustomPaint( painter: MyPainter(), ), )class MyWidget extends StatefulWidget { @override State<MyWidget> createState() => _MyWidgetState(); } class _MyWidgetState extends State<MyWidget> { late AnimationController _controller; @override void initState() { super.initState(); _controller = AnimationController(vsync: this); } @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Container(); } }final weakRef = WeakReference<MyObject>(myObject); final MyObject? obj = weakRef.target;ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return ListTile(title: Text(items[index])); }, )CustomScrollView( slivers: [ SliverAppBar(title: const Text('Title')), SliverList( delegate: SliverChildBuilderDelegate( (context, index) => ListTile(title: Text('Item $index')), childCount: 1000, ), ), ], )class MyTabView extends StatefulWidget { @override _MyTabViewState createState() => _MyTabViewState(); } class _MyTabViewState extends State<MyTabView> with AutomaticKeepAliveClientMixin { @override bool get wantKeepAlive => true; @override Widget build(BuildContext context) { super.build(context); return Container(); } }Image.network( 'https://example.com/image.webp', width: 100, height: 100, fit: BoxFit.cover, )CachedNetworkImage( imageUrl: 'https://example.com/image.jpg', placeholder: (context, url) => const CircularProgressIndicator(), errorWidget: (context, url, error) => const Icon(Icons.error), )Image.memory( compressedImageBytes, width: 100, height: 100, )dio.interceptors.add(DioCacheInterceptor( options: CacheOptions( store: MemCacheStore(), policy: CachePolicy.requestFirst, ), ));Future.wait([ fetchUserData(), fetchPosts(), fetchComments(), ]);final cancelToken = CancelToken(); dio.get('/api/data', cancelToken: cancelToken); // 取消请求 cancelToken.cancel('取消请求');flutter run --profileTimeline.startSync('expensive_operation'); // 执行耗时操作 Timeline.finishSync();MaterialApp( showPerformanceOverlay: true, )性能优化策略:
持续监控和优化是保持应用高性能的关键。