Flutter 개발시 범할 수 있는 실수 6가지 글을 읽다가 내가 자주하는 실수가 있는 것 같아서 기록을 남긴다.
Main Thread를 잡아 먹는 일을 서슴없이 저지르고 있는 것.
void readLargeFile() {
final file = File('large_file.txt');
final contents = file.readAsStringSync(); // Blocking operation
print(contents);
}
compute() 를 써서 해결하도록 하자.
Future<void> readLargeFile() async {
final contents = await compute(_readFile, 'large_file.txt');
print(contents);
}
String _readFile(String path) {
final file = File(path);
return file.readAsStringSync();
}