前提・実現したいこと
生成したクラスや変数を保持し続けたいです
発生している問題・エラーメッセージ
しばらく時間が立つと勝手に初期化されてしまう
該当のソースコード
public class clsGlobal extends Application {
private clsData1 data1 = new clsData1();
private String str;
/** * アプリケーションの起動時に呼び出される */ @Override public void onCreate() { super.onCreate(); } /** * アプリケーション終了時に呼び出される */ @Override public void onTerminate() { super.onTerminate(); } public clsData1 getData1() { return data1; } public void setData1(clsData1 _data1) { this.data1 = _data1; } public String getStr() { return str; } public void setData1(String _str) { this.str = _str; }
}
マニフェストファイル内
<application
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="テスト"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:name="clsGlobal"
tools:replace="android:label">
試したこと
色々調べ、アンドロイドは基本的に構造的にいつどこでactivityや変数が消えるかわからないということがわかりました
SharedPreferencesを使うと保持し続けることはわかったのですが、それだと簡単な数値等しか保持できません
そこでグローバル変数としてextends Applicationに入れてみたのですが
やはり長時間スリープ等で勝手に初期化されてしまいます
グローバル変数も他の変数同様に勝手に消えるものなのでしょうか?
また、消えない変数やクラスを生成というのはできないのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/09 00:36
2019/09/09 04:54
2019/09/09 07:24