Android 4.1 APP中的static变量即使在APP退出后仍然不会被擦除

Android 4.1 APP中的static变量即使在APP退出后仍然会保留最后赋值状态。

public class MainActivity extends Activity {
    private TextView tv;
    private static int i=10;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        tv = (TextView) findViewById(R.id.textView1);
        Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                i += 10;
            }
        });
        Button button2 = (Button) findViewById(R.id.button2);
        button2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                tv.setText("i is :" + i);
            }
        });
    }

}

APP第一次启动时,单击按钮2,会显示 i 的初始值。

单击按钮1,把 i 增加10,退出APP,再次启动APP,单击按钮2 ,显示 i 的值为:20。

说明:在程序退出后,i 的值会被覆盖,并且不可恢复。i 也不会被程序回收在下次启动时再次赋值。

原文地址:https://www.cnblogs.com/mada0/p/4902643.html