我構建了一個變量以用作會話。我在挽救來自特定用戶的ID在日誌當我運行另一個應用程序時,變量會丟失數據
我聲明我的登錄裏面的變量的AsyncTask
@Override
protected void onPostExecute(String result){
if(result == ""){
this.statusField.setText("Wrong password.");
}else{
context.startActivity(new Intent(context,ListUsersActivity.class));
Session.suserid = result;
}
}
public static class Session{
public static String suserid;
}
我的會話類:
public class NewSession extends Application {
Session session = new Session();
public String getUserId() {
return session.suserid;
}
}
爲了從一開始的ID用戶,我只需要調用它:
NewSession app = (NewSession) getApplication();
userid = app.getUserId();
該代碼工作正常,但是當我運行Google Chrome,YouTube或其他應用程序,當我嘗試再次運行我的應用程序時,它會給我一個錯誤,因爲我的會話丟失了該值。
有沒有類似的方法來做我想做的事情?
謝謝。
當你離開應用程序,系統可決定結束這個過程並釋放內存。當您離開應用並返回時,哪些生命週期事件會通過?在onPause()或onStop()中查看保存狀態並將其加載到onResume()或onStart() –