以前一直以为service是一个后台程序,其实不是,service只是一个没有界面的activity而已,耗时的操作如果放在onstart里面一样会抛出
ANR(没有响应)错误,并且如果想要一直在后台跑,必须使用alarmmanager每隔几分钟唤醒一次设备才行,否则过一段时间设备进入sleep则自动关闭掉service了
一个比较靠谱的办法是alarmmanager结合intentservice来达到,因为intentservice是在非UI线程来执行里面的onhandleintent函数的