ユーザーに関する情報を保持する静的インスタンスを持つ Android Java クラスがあります。ただし、ユーザーが私のアプリを使用している場合、まれに、その静的インスタンス内の変数の 1 つがしばらくすると null になります。この Java クラスはグローバルです (どのアクティビティにも関連付けられていません)。何が原因でしょうか?
編集:アプリの起動時を除いて、変数は決して変更されません。それを呼び出す関数が複数回呼び出されることはないことを既に確認しました(adb logcatは、呼び出されていることを示すログを追加したときにそれを証明します)。
コードは次のようなものです。
class UserCore
{
class UserData
{
int ID;
string Name;
}
public UserData User;
public static UserCore Instance = new UserCore();
public void Login()
{
Log.d("User", "Logging in");
new Throwable().printStackTrace();
User = null;
//Fetch user data
User = new UserData();
User.ID = ...
User.Name = ...
}
....
}