android - 应用程序在使用后仍然在ram中,每次播放应用程序占用更多 2空间?

  显示原文与译文双语对照的内容
101 2

在我的应用程序出现后,我已经经研究了在RAM中显示的应用程序。同样,每次播放应用程序时,内存中的大小也会增加。我不清楚为什么会发生。请给我一些建议。

我在应用程序中使用了计时器 15秒,完成时间后,我显示了对话框。但有些时候,在一次完成时,该对话框出现 3 -4次。这对于我的应用程序来说是非常尴尬的。这个东西是由于应用程序在 background 中还是我的计时器出了什么问题。计时器代码为 below 。全局声明

MyCount counter = new MyCount(time, 1000); 

计时器代码是:

 public class MyCount extends CountDownTimer {
 public MyCount(long millisInFuture, long countDownInterval) {
 super(millisInFuture, countDownInterval);
 }
//call when time is finish 
 public void onFinish() {
//TODO Auto-generated method stub
 AlertDialog.Builder alertbox = new AlertDialog.Builder(game.this);
 alertbox.setMessage("Oops, your time is over");
 alertbox.setNeutralButton("Ok",
 new DialogInterface.OnClickListener() {
//Click listener on the neutral button of alert box
 public void onClick(DialogInterface arg0, int arg1) {
 quesCount++;
 for(int i=0;i<4;i++){
 btn[i].setVisibility(View.VISIBLE);
 }
 rndom_no=randomno();
 showDataOverControls(rndom_no);
 counter.start();
 }
 });
 alertbox.show();
 }
 @Override
 public void onTick(long millisUntilFinished) {
 time1 = (TextView) findViewById
(R.id.time);
 time1.setText(""+millisUntilFinished/1000);
 }
}

by循环 inside 更改按钮的可以见性,rndom_no=randomno ( ) ;这里函数生成随机数,showDataOverControls(rndom_no); 从xml文件中获取数据。请建议如果我做错了。

时间:原作者:0个回答

69 1

只要安卓想要它,你的应用程序就可以。你不能控制它。

尝试通过配置 launchMode 属性来重用 activity,以阻止它增加。

同时,使用某个标志来检查对话框显示,如果已经显示,则不显示

原作者:
64 1

应用程序停留在电话ram中,允许用户不需要加载时间就返回到应用程序。Android内存系统的工作方式是,只要不需要内存,最后使用的应用程序将保持在RAM中。别担心。如果其他应用程序需要这种内存,应用程序没有类似 activity的前景组件,整个应用程序将逐步关闭直到手机有足够的内存。阻止内存的唯一方法是创建一个设计非常糟糕的服务。如果前台服务需要内存,甚至服务也会被关闭。

原作者:
...