我有一个场景:
经过大量调试后我认为可能是因为内存问题,但我找不到任何解决方案。
他们还有其他方法吗?
最有可能的是,您的进程在后台处于终止状态。 This is perfectly normal。您不能假设在创建任何活动时将填充任何static
字段。或者:
static
字段,或static
字段,或如果在极端内存压力的情况下,系统可以终止您的应用程序进程,将所有静态字段重置为默认值,在您的情况下将为null,则可能会发生此类问题。
所以,为了避免它,我建议你使用SharedPreferences https://developer.android.com/reference/android/content/SharedPreferences.html
您应该使用SharedPreferences
来存储用户信息。这可以在应用程序终止后保留数据。用法:
SharedPreferences pref =
getApplicationContext().getSharedPreferences("UserInfo", 0); // 0 - for private mode
Editor editor = pref.edit();
editor.putString("user_name", "User"); //store data
String userName = pref.getString("user_name"); //get data