ステップベースのゲームを作成しているので、進むボタンと戻るボタンを作成できる必要があります。
各ステップにはIDがあり、その情報はSQLiteデータベースから取得されます。maxLevel
最大到達ステップとcurrentStep
現在のステップを共有設定に保存します。今、私は、メモリをあまり詰まらせることなく、誰かを次の/前のステップに導く新しいアクションをどのように開始するのか疑問に思いました。新しいアクションを開始して、次のようなデータを渡すことができることを知っています。
final Context mContext=this;
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("count", 2);
editor.commit();
Intent myIntent = new Intent(mContext, PlayGame.class);
mContext.startActivity(myIntent);
ここでの私の主な心配はメモリ使用量です。これを使用して2回進むと、2回戻ってから、もう一度2回進むと、アクティビティのインスタンスが6つ作成されませんか?それは大規模なメモリホッグである可能性があります。
したがって、ここでの質問は次のとおりです。
再起動されてデータベースからデータを取得する、1つのアクティビティを持つフォワード/バックシステムを実装するにはどうすればよいですか?
背景情報の詳細:アクティビティは4つのタブを持つTabHostであり、これらの各タブにはアクティビティが含まれています。各アクティビティは、データベースから必要なデータを取得します。したがって、メモリ使用量についての私の懸念。
編集:
私は解決策を見つけたようです。finish()
新しいアクティビティを開始する前に関数を呼び出しています。これはリークを回避するのに役立つはずだと私は信じています。私はこれを考えるのが正しいですか?