android中的outofmemoryerror

android中的outofmemoryerror,android,Android,我有一个在AsyncTask的doInBackground中运行一些方法,它调用webservices并将大量记录插入数据库,在同一个用户点击另一个屏幕,然后outOfmemoryError就来了,我想暂时停止后台线程,直到屏幕加载,然后线程必须从它停止恢复,这样内存才会释放。谁能告诉我如何做到这一点。 提前感谢。异步任务只能执行一次(如果尝试第二次执行,将引发异常)。。因此,暂停并继续。。我想你应该用背景线来代替…//去宽容 //decleration ProgressDialog d

我有一个在AsyncTask的doInBackground中运行一些方法,它调用webservices并将大量记录插入数据库,在同一个用户点击另一个屏幕,然后outOfmemoryError就来了,我想暂时停止后台线程,直到屏幕加载,然后线程必须从它停止恢复,这样内存才会释放。谁能告诉我如何做到这一点。
提前感谢。

异步任务只能执行一次(如果尝试第二次执行,将引发异常)。。因此,暂停并继续。。我想你应该用背景线来代替…

//去宽容
    //decleration
ProgressDialog dialog;

//onCreate
dialog = new ProgressDialog(ActivityName.this);

public class BackGroundTask extends AsyncTask<String, String, String> {

        @Override
        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub

            //perform background task

            return null;
        }

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            dialog.setMessage("Please wait.....");
            dialog.setIndeterminate(true);
            dialog.setCancelable(false);
            dialog.show();

        }

        @Override
        protected void onPostExecute(String sResponse) {

                if (dialog.isShowing())
                         {
                    dialog.dismiss();

                      }

    }
进程对话; //一次创建 dialog=新建进度对话框(ActivityName.this); 公共类BackGroundTask扩展了AsyncTask{ @凌驾 受保护的字符串doInBackground(字符串…参数){ //TODO自动生成的方法存根 //执行后台任务 返回null; } @凌驾 受保护的void onPreExecute(){ //TODO自动生成的方法存根 super.onPreExecute(); setMessage(“请稍候…”); 对话框。setUndeterminate(true); 对话框。可设置可取消(false); dialog.show(); } @凌驾 PostExecute上受保护的void(字符串响应){ if(dialog.isShowing()) { dialog.dismise(); } }
这个问题有两个句点。我不明白你在问什么。我认为你应该使用服务来解决这个问题。谢谢你的回答。首先,在这里插入记录时应该没有内存问题