История В моем проекте у меня около 30 различных экранов, чтобы получить данные. Теперь, как правило, мне приходится передавать значения с одного экрана на другой. (Например, UserID, StoreID, City и т. Д.)Передача значения с экрана на экран
Что я сейчас делаю для передачи значений. Я продолжаю делать это на 30 экранах.
//Sender Activity
String strValue = "xyz";
Intent i = new Intent(this, ToClass.class);
i.putExtra("strValue", strValue);
startActivity(i);
//Receiving Activity
Intent intent = getIntent();
String strValue= intent.getExtras().getString("strValue");
Теперь мой технический вопрос является
а) Значение по-прежнему жив (или использует память) в отправителе деятельности. Итак, как мне очистить при переходе к следующему мероприятию?
b) Должно ли быть лучше, если я сохраню значение strValue
в DB
и значение доступа от DB
всякий раз, когда мне нужно? Следовательно, сохранение моей памяти.
c) Это лучший подход в Android. То, что я сейчас использую.
Вы можете сохранить данные в своей памяти. Это лучший способ, потому что когда вы очищаете данные, удаляйте эти данные. –
Экономия в БД и извлечение увеличит накладные расходы процессора. –
вы можете сделать вызов 'finish()' после вызова 'startActivity()'. Другой вариант - указать ваши значения на «null», если ваша активность заканчивается. Поэтому в 'onPause()' проверьте, завершает ли ваша деятельность http://developer.android.com/reference/android/app/Activity.html#isFinishing() и делает 'strValue = null;' Посмотрите на потоки обсуждение «настройки производительности Java». – nightfixed