Created
August 23, 2021 13:58
-
-
Save laurensdewaele/a0e195837765f2d3f75924dfaa04177a to your computer and use it in GitHub Desktop.
Flutter test app to showcase performance diff desktop macos vs chrome.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() { | |
runApp(MyApp()); | |
} | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
title: 'Bug repo demo', | |
theme: ThemeData( | |
primarySwatch: Colors.blue, | |
), | |
home: MyHomePage(), | |
); | |
} | |
} | |
class MyHomePage extends StatefulWidget { | |
MyHomePage({Key? key}) : super(key: key); | |
@override | |
_MyHomePageState createState() => _MyHomePageState(); | |
} | |
class _MyHomePageState extends State<MyHomePage> { | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: Text('test'), | |
), | |
body: InteractiveViewer( | |
constrained: false, | |
child: Stack( | |
children: [ | |
Container( | |
width: 5000, | |
height: 5000, | |
decoration: BoxDecoration(color: Colors.black), | |
), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(0, 0, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/38/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(400, 0, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/39/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(800, 0, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/40/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(1200, 0, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/42/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(0, 300, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/38/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(400, 600, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/39/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(800, 900, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/40/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(1200, 1200, 400, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/42/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(0, 0, 2000, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/38/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(400, 0, 2200, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/39/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(800, 0, 2600, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/40/4000/4000')), | |
Positioned.fromRect( | |
rect: Rect.fromLTWH(1200, 0, 3300, 400), | |
child: | |
NetworkImage(url: 'https://picsum.photos/id/42/4000/4000')), | |
], | |
), | |
), | |
); | |
} | |
} | |
class NetworkImage extends StatelessWidget { | |
NetworkImage({required this.url}); | |
final String url; | |
@override | |
Widget build(BuildContext context) { | |
return Image.network( | |
url, | |
fit: BoxFit.contain, | |
isAntiAlias: false, | |
width: 400, | |
height: 400, | |
frameBuilder: (context, child, frame, wasSynchronouslyLoaded) { | |
if (frame != null) { | |
return child; | |
} | |
return Container( | |
child: Text('loading'), | |
); | |
}, | |
loadingBuilder: (context, child, loadingProgress) { | |
if (loadingProgress == null) { | |
return child; | |
} | |
return Container( | |
child: Text('loading'), | |
); | |
}, | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment