私のアプリにはMainActivityというActivityクラスがあり、そのメンバーの1つは
public static SharedPreferences prefsdefault;
私のアプリには、バックグラウンドで実行されるサービス(別のプロセス)もあります。私が書いたサービスの中で
MainActivity.prefsdefault.getString(Key,"Hello");
アプリは、この行でnullポインター例外をスローすることがあります。なんで?アクティビティを閉じたときにこのメンバーがガベージコレクターによってクリーンアップされ、いつでも(サービスの実行時に)アクセスできないということですか?では、これに対する完璧な解決策は何ですか?
MainActiviy.classをサービスに渡す必要がありますか?これは、コンテキストを必要とするスレッドを実装するときにも発生します。