【问题标题】:The application still in ram after using it and take more-2 space each time i play the app?使用后该应用程序仍在内存中,并且每次播放该应用程序时占用更多空间?
【发布时间】:2012-05-14 14:27:14
【问题描述】:

在我退出我的应用程序后,我已经处理了我在 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 文件中获取数据。 如果我做错了什么,请提出建议。

【问题讨论】:

  • 谁能指导我如何处理我的应用程序的这个问题。

标签: android timer xml-parsing background-process


【解决方案1】:

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

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

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

【讨论】:

  • “尝试通过配置launchMode属性来重用活动以阻止它增加。”我不清楚你能告诉我我们该怎么做。当我使用它时,我的应用程序大小每次在 Ram 中都会增加
  • 当您在 manifest.xml 中离开没有 launchMode 规范的活动时,它们不会被重用,而是在每次启动活动时重新创建。您必须通过为清单中的活动节点指定 launchMode 属性来覆盖此行为。检查此链接以获取信息stackoverflow.com/questions/2424488/… 以及相关文档:developer.android.com/intl/de/guide/topics/manifest/…
【解决方案2】:

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

【讨论】:

  • 但是为什么每次我使用该应用程序时都会增加。意味着我的应用程序大小为 6mb,然后当我下次播放它时,内存中的大小变为 7.5mb。我不明白这件事。你也看到了我在我的应用程序中提出的计时器问题。我该如何管理?请给我一些建议:(
  • 请指导我如何处理这个问题
猜你喜欢
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 2011-02-01
相关资源
最近更新 更多