Kann ich verhindern, dass App wieder aufzunehmen, wenn es von anderem Prozess getötet hat?
Es gibt drei Möglichkeiten, eine App sein kann "wieder aufgenommen", durch einen Aufruf an beiden onCreate
, onStart
oder onResume
. Welcher aufgerufen wird, hängt davon ab, wie Ihre App "gesperrt" wurde und was in diesem Zustand passiert.
onResume
folgt , die auftritt, wenn eine andere Anwendung in den Vordergrund gebracht wird.
onStart
(onRestart
) folgt onStop
, die auftritt, wenn die App nicht mehr sichtbar ist.
onCreate
folgt oder onStop
wenn Ihr Gedächtnis zu einer anderen App verloren.
Wenn ich App Hintergrund öffne ich immer Nulls auf User-Modell (Bild Pfade, Namen ...)
Versuchen persistierenden diese Benutzerdaten in onSaveInstanceState
(wenn es durch einen Prozess getötet hat)
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString(STATE_USER, mUser);
// Always call the superclass so it can save the view hierarchy state
super.onSaveInstanceState(savedInstanceState);
}
und die Wiederherstellung in beiden onCreate
oder onRestoreInstanceState
static final String STATE_USER = "user";
private String mUser;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Check whether we're recreating a previously destroyed instance
if (savedInstanceState != null) {
// Restore user data from saved state
mUser = savedInstanceState.getString(STATE_USER);
}
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
text.setText(savedInstanceState.getString(STATE_USER));
}
Können zeigen Ihnen, wie verwenden Sie UserModel innerhalb Aktivität Neuer/Fragment? –
Alle Abschnitte unter https://developer.android.com/guide/components/activities/index.html – samosaris