Bestimmen der maximalen Länge der Absicht putExtra()-Methode zur Vermeidung erzwungener Schließungen
Problem:
Ein Android Die Anwendung erzwingt das Schließen, wenn versucht wird, Daten über ein Intent-Objekt an eine andere Aktivität zu übergeben. Dieses Problem tritt auf einigen Geräten auf, auf anderen jedoch nicht.
Codeanalyse:
Die Anwendung ruft die Methode onConsoleMessage() in der Klasse WebChromeClient auf und sendet HTML-Inhalte an eine andere Aktivität (ReadDataActivity). unter Verwendung der putExtra()-Methode des Intent-Objekts.
Mögliche Ursache:
Das erzwungene Schließen kann durch Überschreiten der maximalen Längenbeschränkung für die zusätzlichen Daten des Intents verursacht werden. Erfahrungsgemäß erlaubt Android die Bündelung von maximal 1MB Daten in einem Intent für Inter-Process-Communication (IPC).
Lösung:
Um das Problem zu beheben, sollten Sie den HTML-Inhalt in einer temporären Datei speichern und nur den Pfad oder URI der Datei an ReadDataActivity übergeben. Lesen Sie in der zweiten Aktivität den Inhalt der Datei, führen Sie die erforderlichen Vorgänge aus und löschen Sie die Datei.
Alternative Ansätze:
Debugging-Tipps:
Das obige ist der detaillierte Inhalt vonWarum erzwingt das Schließen meiner Android-App, wenn große Datenmengen mit Intent.putExtra() übergeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!