android中的outofmemoryerror
我有一个在AsyncTask的doInBackground中运行一些方法,它调用webservices并将大量记录插入数据库,在同一个用户点击另一个屏幕,然后outOfmemoryError就来了,我想暂时停止后台线程,直到屏幕加载,然后线程必须从它停止恢复,这样内存才会释放。谁能告诉我如何做到这一点。android中的outofmemoryerror,android,Android,我有一个在AsyncTask的doInBackground中运行一些方法,它调用webservices并将大量记录插入数据库,在同一个用户点击另一个屏幕,然后outOfmemoryError就来了,我想暂时停止后台线程,直到屏幕加载,然后线程必须从它停止恢复,这样内存才会释放。谁能告诉我如何做到这一点。 提前感谢。异步任务只能执行一次(如果尝试第二次执行,将引发异常)。。因此,暂停并继续。。我想你应该用背景线来代替…//去宽容 //decleration ProgressDialog d
提前感谢。异步任务只能执行一次(如果尝试第二次执行,将引发异常)。。因此,暂停并继续。。我想你应该用背景线来代替…
//去宽容
//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();
}
}
这个问题有两个句点。我不明白你在问什么。我认为你应该使用服务来解决这个问题。谢谢你的回答。首先,在这里插入记录时应该没有内存问题