我有一个长期运行的流程,我作为服务实现。我在onStop()方法中使用startService和bindService AND unBindService从我的Activity启动此服务。我的服务使用一个Timer来解析xml并下载资产并且有可能运行一段时间 这是问题所在:当我关闭Activity并且Timer正在运行时,我得到了一个FC。似乎当我发布GET http时,FC就会发生。有任何想法吗?服务必须完全独立于活动并且不包含对它们的引用吗?
private void startService()
{
final Handler handler = new Handler();
final Runnable runnable = new Runnable()
{
public void run()
{
if(!isRunning) {
isRunning = true;
Log.v(TAG, "running download task");
fgApp.getCdnInfo(true, false);
}
else {
isRunning = false;
Log.v(TAG, "download task already running");
}
}
};
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
public void run()
{
handler.post(runnable);
}
}, 1000, delay);
}