1

在我退出我的应用程序后,我已经处理了我在 RAM 中显示的应用程序。每次播放应用程序时,RAM 中的大小也会增加。我不知道为什么会这样。请给我一些建议。

此外,我在我的应用程序中使用计时器 15 秒,并在完成时间后显示 I Dialog 你的时间结束了。但有时该对话框会在一次完成时出现 3-4 次。这对我的应用程序来说非常尴尬。这件事是由于应用程序在后台还是我的计时器有问题。定时器代码如下。全球宣布

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);
    }
}

应用程序中的 for 循环改变了按钮的可见性,rndom_no=randomno(); 该函数生成随机数,showDataOverControls(rndom_no);它通过 xml 解析从 xml 文件中获取数据。如果我做错了什么,请提出建议。

4

2 回答 2

1

只要 android 需要,您的应用程序就会一直保留在内存中。您无法控制它。

尝试通过配置launchMode属性以阻止其增加来重用活动。

另外,使用一些标志来检查对话框显示,如果已经显示则不显示

于 2012-05-14T14:31:37.907 回答
1

您的应用程序保留在手机内存中,以允许用户在没有太多加载时间的情况下返回应用程序。Android 内存系统的工作方式是,只要不需要内存,最后使用的应用程序就会保留在 RAM 中。别担心。如果另一个应用程序需要此内存并且您的应用程序没有诸如活动之类的前台组件,那么您的整个应用程序将逐步关闭,直到手机再次有足够的内存为止。阻塞内存的唯一方法是创建一个设计非常糟糕的服务。如果前台服务需要内存,甚至服务也会关闭。

于 2012-05-15T06:51:16.840 回答