我的应用程序有一个服务运行,直到用户按下退出按钮。我知道在android中给出退出按钮并不是很好的设计,但在我的应用程序中它是理想的。有没有办法阻止后台线程没有进程杀死Android?
在我的应用程序中,我也有一个线程发送Http请求,下载一个文件,然后在后台解析它,以便UI不会阻塞。在我的线程运行方法中,有连续的步骤(如下载文件,然后解析它),没有while或for循环。
当用户按下退出按钮,有没有办法停止后台线程,如果它正在运行没有杀死进程(使用Process.kiil(PID)或System.exit(0))?
我也试过AsyncTask。无论在线程的运行方法中,我把它放在doInBackground方法中。当用户按下退出按钮时,我取消了asynctask。取消任务不会完全停止后台线程,因为文件下载后它将进入解析器解析文件(即解析在后台线程中完成,但解析时不在doInBackground或run方法中,它将在解析方法中解析器类或默认处理程序类进行解析。)
从谷歌搜索我读了很多博客和其他关于线程stackoverflow问题,但我仍然找不到任何解决方案。 请帮助....在此先感谢..
但它是如何可能的XML解析器(如[这里](HTTP默认处理程序的子类的每一个环节: //www.ibm.com/developerworks/cn/opensource/library/x-android/index.html)( 清单6. SAX处理程序) – 2012-03-28 07:03:42