readFileInChunks function
Implementation
Future<Uint8List> readFileInChunks(File file) async {
const int chunkSize = 1024 * 1024; // 1MB chunks
final fileStream = file.openRead();
final chunks = <int>[];
await for (final chunk in fileStream) {
chunks.addAll(chunk);
// Yield control periodically to prevent blocking
if (chunks.length % (chunkSize * 5) == 0) {
await Future.delayed(Duration.zero);
}
}
return Uint8List.fromList(chunks);
}