Wenn Sie nichts anderes angeben, führt eine Konfigurationsänderung (z. B. eine Änderung der Bildschirmausrichtung, Sprache, Eingabegeräte usw.) dazu, dass Ihre aktuelle Aktivität zerstört wird und den normalen Aktivitätslebenszyklus von onPause() onStop durchläuft() und onDestroy() entsprechend. Wenn die Aktivität im Vordergrund oder für den Benutzer sichtbar war, wird onDestroy() in dieser Instanz aufgerufen, und dann wird eine neue Instanz der Aktivität mit dem von onSaveInstanceState (Bundle) generierten savedInstanceState der vorherigen Instanz erstellt.
Also, was passiert hinter den Kulissen: currnet VideoView Activity (Landschaft) ist zerstört, eine neue VideoView Activity (Portrait) wird erstellt, weil screenOrientation Konfiguration geändert wurde, und sofort destory (wo Sie die Auswirkungen auf dem Bildschirm sehen können), Die letzte Aktivität im Stapel wird angezeigt.
Versuchen Sie, diese Methoden zu handhaben und überprüfen
@Override
protected void onResume() {
mVideoView.resume();
super.onResume();
}
@Override
protected void onPause() {
mVideoView.suspend();
super.onPause();
}
@Override
protected void onDestroy() {
mVideoView.stopPlayback();
super.onDestroy();
}
Check diese Antwort http://stackoverflow.com/a/38971707/1153703 –