sheet_viewer: try forcing garbage collect on pdf

This commit is contained in:
2025-03-15 20:11:10 +01:00
parent 95d50cd108
commit ad16718086

View File

@@ -21,12 +21,19 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
int page = 1; int page = 1;
int numPages = 1; int numPages = 1;
bool isFullscreen = false; bool isFullscreen = false;
PdfDocument? document;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
} }
@override
void dispose() {
document?.dispose(); // Make sure document gets garbage collected
super.dispose();
}
Future<PdfDocument> loadPdf() async { Future<PdfDocument> loadPdf() async {
var file = await widget.apiClient.getPdfFileCached(widget.sheet.uuid); var file = await widget.apiClient.getPdfFileCached(widget.sheet.uuid);
if (file == null) { if (file == null) {
@@ -63,9 +70,9 @@ class _SheetViewerPageState extends State<SheetViewerPage> {
future: loadPdf(), future: loadPdf(),
builder: (BuildContext context, AsyncSnapshot<PdfDocument> snapshot) { builder: (BuildContext context, AsyncSnapshot<PdfDocument> snapshot) {
if (snapshot.hasData) { if (snapshot.hasData) {
var document = snapshot.data; document = snapshot.data;
if (document != null) { if (document != null) {
numPages = document.pages.length; numPages = document!.pages.length;
} }
return GestureDetector( return GestureDetector(
onTapUp: (TapUpDetails details) { onTapUp: (TapUpDetails details) {