将值从屏幕传递到屏幕

时间:2014-09-08 08:31:43

标签: android android-intent android-activity

历史记录在我的项目中,我有大约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");

现在我的技术问题是 a)发送者活动中仍然活着(或使用内存)的值。那么在进入下一个活动时如何清除呢? b)我是否应该更好地保存strValue中的DB值,并在需要时从DB访问值?因此节省了我的记忆 c)这是Android中的最佳方法吗?我目前使用的是什么。

1 个答案:

答案 0 :(得分:1)

a)将内存/数据清除留给GC,它将处理内存中未使用的数据。

b)如果它只是一个值,您不想将其放在DB中,因为它也会使用memory而且需要更长的时间(就{ {1}}我认为/开销)而不是将其作为捆绑或共享偏好传递

c)如果您希望ms仅在应用程序处于活动状态时仍然存在。这将是你的方法。如果你希望strValue在内存中我假设它只有1个值你可以使用sharedpreference。如果您需要将大量数据存入内存,则需要使用sqlite