Android 在两个活动之间大约80个周期后,设备将重新启动
我有三项活动(第一、第二和第三)。Android 在两个活动之间大约80个周期后,设备将重新启动,android,Android,我有三项活动(第一、第二和第三)。 应用程序从第一个活动开始,然后移动到第二个活动,当玩家完成后,应用程序移动到第三个活动,然后返回第二个活动,并在第二个和第三个活动之间继续此循环。 大约80或90个周期后,设备将重新启动。 我想可能有一个缓存的活动是溢出 有什么问题,有人能帮我吗 以下是所有三项活动的示例 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceS
应用程序从第一个活动开始,然后移动到第二个活动,当玩家完成后,应用程序移动到第三个活动,然后返回第二个活动,并在第二个和第三个活动之间继续此循环。
大约80或90个周期后,设备将重新启动。
我想可能有一个缓存的活动是溢出 有什么问题,有人能帮我吗 以下是所有三项活动的示例
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
ViewGroup.LayoutParams params =
new TableRow.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT, 1.0f);
ViewGroup.LayoutParams superparams =
new TableLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
//sakhte tablelayout
TableLayout supertable = new TableLayout(this);
supertable.setLayoutParams(superparams);
supertable.setOrientation(TableLayout.VERTICAL);
TableRow table = new TableRow(this);
ImageButton start = new ImageButton(this);
start.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i=new Intent("net.learn2develop.SecondTurn");
startActivity(i);
}
});
start.setImageResource(R.drawable.red);
start.setLayoutParams(params);
setContentView(supertable);
supertable.addView(table);
table.addView(start);
}
}
在2和3之间移动时,可能没有调用finish()。 此外,您还应该查看意图标志clear top以清除任何旧活动。
另外,我的建议是使用单个片段活动,并不断更改片段,而不是整个活动。如果看不到清单,很难判断,但是,根据启动模式,您将创建80个活动,这会严重烧坏设备。调用finish,或者将活动设置为singletop。请添加清单配置。如果我不使用finish(),活动是否保持活动状态?但我会使用新变量再次调用它。如果你不使用finish,活动只会暂停而不会销毁。如果系统资源不足,系统会将其销毁,但您可以相信这会发生。。。永远清洁你不再需要的东西。但正如我所怀疑的,你应该使用碎片。像这样的流量对你会更好。MainActivity->SecondActivity(扩展FragmentActivity)。SecondActivity显示片段,当您正常转到第三个活动时,只需将当前片段替换为新片段,反之亦然。