【发布时间】:2013-06-10 04:49:27
【问题描述】:
我创建了一个应用程序,它接收用户名和其他交易详细信息,然后将它们填充到数据库中。有时,应用程序通过将数据库中的相同详细信息作为两个事务填充两次而表现出奇怪的行为。即使读取了新值但未将其存储在静态变量中。
因此,我需要帮助在每个活动结束时刷新所有静态变量的值,以避免在新事务中覆盖以前的值。
编辑:
public class One
{
static String var;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
var="blah";
}
}
public class Two
{
static String variable = One.var;
// This is where i am accessing the value of the variables from previous activities.
//CODE
}
【问题讨论】:
-
请提供相关代码。
-
如果你想刷新变量,为什么要让它成为静态的。您可以创建数据库的签入插入逻辑。
-
我认为静态变量会在销毁活动时被刷新。但正如你所说的那样,它没有发生......对吧??
-
@GarimaTiwari 在这种情况下你为什么要使用静态变量使用共享首选项或使用意图将值传递给其他活动
-
@GarimaTiwari 静态变量存储在堆中的永久区域中。所以使用静态变量不是一个好主意。检查主题下的链接@developer.android.com/training/articles/perf-tips.html Prefer Static Over Virtual