请教关于android后台任务和服务的问题
============问题描述============
最近在做一个应用,实时检测网络信号,日志是系统自动抓取,一个服务检测日志达到一定条件,开始压缩归档,我用asynctask去检测网络信号,将信号值通过progress更新到前台,应用启动后,开启一个服务去检测日志情况。现在的问题是日志达到条件开始一压缩时,会阻塞前台信号更新,一个是服务,一个是后台任务,照说不会阻塞主线程,难道只能有一个进程给手机发消息么?希望大家多指教~-~
============解决方案1============
aidl呗,挺好用,,,
============解决方案2============
虽说asynctask是后台任务,但是也不适合做耗时长的任务
============解决方案3============
官方文档给的说明是,asynctask并不构建一个通用线程框架,而且不能执行耗时操作,最多执行数秒的时间。说明asynctask和一个普通的线程是不一样的。
============解决方案4============
你也可以在另一个服务中检测网络信号,通过广播来通知UI线程更新界面。
============解决方案5============
service运行在主线程中,service会阻塞 ui, asyTask 的doInBackground 是另开线程的。
============解决方案6============
积分怎么得??????????????
posted on 2014-10-21 23:41 android基础教程 阅读(178) 评论(0) 编辑 收藏 举报