静的変数が破棄された場合、それらはすべて破棄されますか? これは私のOnCreate
メソッドにあるコードです:
if (!LoadedData)
{
LoadedData = true;
SaveData = getSharedPreferences(FILENAME, MODE_PRIVATE);
LoadData();
if (MainActivity.ScreenWidth == 0 && MainActivity.ScreenWidthLandscape == 0)
MainActivity.LoadData();
}
クラスを初めて実行すると、LoadedData のデフォルト値は false になり、保存された値がロードされて静的変数に保存されます。デバイスがローテーションされた後、必要なすべての値が静的変数に保持されるため、このコードは実行されません。そのため、それらを再度ロードするのは効率的ではありません。問題は、すべてではなく一部の静的変数が破棄された場合、プログラムがクラッシュする可能性があることです。静的変数が破棄されると、デフォルト値が保持されますか? たとえば、整数 = 0、ブール値 = false など。
静的変数が破棄されているかどうかをテストする方法がありません。