android - 如何在 Android Activity 结束时清除所有静态变量的值?

标签 android static-members

我创建了一个应用程序,它接收用户名和交易的其他详细信息,然后将它们填入数据库。有时,应用程序会通过将相同的详细信息作为两次事务两次填充到数据库中来显示奇怪的行为。即使新值被读取但未存储在静态变量中。

因此,我需要帮助在每个 Activity 结束时刷新所有静态变量的值,以避免在新事务中覆盖以前的值。

编辑:

  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
            }

最佳答案

希望这些能帮到你..

在任何 Activity 中使用静态变量就像一场噩梦,因为它在整个 Activity 中存储内存..

我认为您可以尝试一些其他的内存存储来解决将值从一个 Activity 传递到另一个 Activity 的问题..

在我看来,您可以将值存储在 SharedPreference 中,或者您可以通过 Intent 将值传递给其他需要的 Activity ..

希望这些对你有帮助..

编辑:

Intent in = new Intent(MainActivity.this,SecondActivity.class);

您可以使用多个putExtra()放置多个值的方法,然后可以在第二个 Activity 中获取

in.putStringArrayListExtra(String name, ArrayList<String> value);

StartActivity(in);

在第二个 Activity 中:

Intent in = getIntent();

ArrayList<String> Roleids = new ArrayList<String>;

RoleId = in.getStringArrayListExtra(String name, ArrayList<String> value)

关于android - 如何在 Android Activity 结束时清除所有静态变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17017046/

相关文章:

java - 如何从 Java 在 Android 设备上运行 adb screenrecord 并结束屏幕录制?

android - 文件是否可以公开存储,但在应用程序卸载时自动删除?

c++ - C++ 类 : undefined reference 中的静态常量

c++ - 嵌套类中的静态成员是否具有封闭类的静态持续时间?

c++ - 常量表达式中的静态成员访问

Android 模拟器 - 如何在模拟器中查看从计算机传输到模拟器的文件

android - 动态使用 setImageDrawable 在 ImageView 中设置图像

android - 如何使用代码在 android 中设置墙纸?

C# 静态类成员和 System.Windows.Controls.Image 性能问题

c++ - 从同一类的专用模板的静态函数访问类模板成员