我知道这个话题已经被打败了,但是如果Android系统在以下情况下有良好的行为,我仍然不完全理解:
我创建的小应用程序包含两个类,这里是代码:
Main.java
public class Main extends Activity {
private Button bv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bv = (Button) findViewById(R.id.hello_txt);
bv.setOnClickListener(
new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Main.this, Main2.class);
startActivity(i);
}
}
);
}
}
Main2.java
public class Main2 extends Activity {
private TextView countOfActivities;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
countOfActivities = new TextView(this);
setContentView(countOfActivities);
countOfActivities.setText("Count of Activities: " + getInstanceCount());
}
}
当我从第一个活动中多次点击按钮时,即使在按下BACK按钮后也应该调用第二个Activity的onDestroy(),它的实例仍保留在memmory中。
只有在创建了大约35个实例后,请点击通知我,GC清除了内存。 我只想完全确定这是正常系统的行为。
以下来自Emulator和LogCat的图片
按钮点击了10次
点击后的LogCat输出