Video im WebView - Anwendungskontext gegen Aktivitätskontext

8

Ich spiele ein Video in einem WebView .

Wenn ein Speicherleck vermieden werden soll, muss der ApplicationContext (gegenüber einem Activity -Kontext) verwendet werden, um WebView ( lesen Sie hierzu )

Wenn ich die ApplicationContext und die VideoView innerhalb der WebView übergebe, um einen Dialog zu erstellen (normalerweise für 'Kann dieses Video nicht abspielen'), bekomme ich BadTokenException ( beziehen Sie sich darauf )

Wird von uns erwartet, dass wir uns zwischen einem Speicherleck oder einem potentiellen ANR entscheiden?

    
Vikram Bodicherla 29.05.2012, 02:51
quelle

2 Antworten

0

Ich schließe aus obigen Kommentaren und weiteren Tests, dass das Problem ein Fehler im SDK ist: Beim Erstellen eines WebView über XML-Layout wird die Aktivität als Kontext für das WebView übergeben, nicht als Anwendungskontext. Wenn die Aktivität beendet wird, behält das WebView weiterhin Verweise auf die Aktivität, daher wird die Aktivität nicht aus dem Speicher entfernt. Ich habe dafür einen Fehlerbericht eingereicht, siehe den Link im obigen Kommentar.

%Vor%     
GOLDEE 17.01.2013 04:54
quelle
0

Dies ist definitiv ein Fehler, oder das Api-Design ist wirklich schlecht, es gibt keinen Hinweis auf den Fehler. Ich glaube, viele Entwickler haben dieses Problem gelöst.

    
Charlesjean 05.08.2016 07:57
quelle

Tags und Links