У меня есть длительный процесс, который я реализовал как Сервис. Я запускаю этот сервис из своей Деятельности, используя startService и bindService AND unBindService в методе onStop (). Моя служба использует таймер, с помощью которого я анализирую xml и загружаю ресурсы, и может работать некоторое время.
Вот проблема: я получаю FC, когда закрываю Activity и запускается Timer. Кажется, что когда я отправляю 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);
}