2017-08-25 15 views
0

sharedpreferencesを使用してユーザーID(apirestへのリクエストを作成する)のようなデータを保存し、次にこのIDを使用する3つのフラグメントを持つアクティビティを持っています。データ(id)を各フラグメントでsharedpreferenceにする必要がありますか?または私はメインアクティビティでgetSharedPreferencesとbundleを使用してIDを渡す必要がありますか?メインアクティビティからの各フラグメントまたはバンドルのAndroid sharedpreferences?

私の質問:どのオプションが高速で、リソースも少なくてすみます。なぜですか?ありがとうございます。

+0

明らかに、ディスクからの読み込みよりもメモリ(RAM)からの読み込みが高速です。 SharedPreferencesはxmlで動作します –

+0

@an_droid_dev申し訳ありません私の英語は良くありません。どのオプションをお勧めしますか?あなたはもっときれいになれますか? – matQ

+0

はい、バンドルを意味します。バンドルはディスクに格納されず、メモリ(RAM)に格納されます。 –

答えて

0

SharedPreferencesのシングルトンクラスを作成する

0

余分に渡す問題は、フラグメントの再作成で回復できないことです。フラグメントを破棄してインスタンス化を再開する前に、値を保存して事前警告を行う必要があります。

これを念頭に置いて、SharedPreferencesからIDを取得することをお勧めします。読み取り操作は、書き込み操作ほど高価ではありません(そのため、非同期メソッドapply()があります)。

+0

だから、各フラグメントでgetSharedPreferencesを呼び出すことをお勧めしますか? IDを取得するには? – matQ

+0

@matQはい。推論のための私の最初の段落を参照してください。 –

関連する問題