定时器任务在android中无限期后停止运行

我是 android的新手.我正在开发一个应用程序,其中一个特定的代码片段在后台每5秒执行一次.要实现这一点,我正在使用带有计时器任务的计时器服务.有时它的工作正常,但经过一些无限期我的服务正在运行,但计时器任务在android中自动停止.这是我的代码请帮忙.提前致谢.

public void onStart(Intent intent,int startid) {
    //this is the code for my onStart in service class
    int delay = 1000; // delay for 1 sec.

    final int period = 5000; // repeat 5 sec.

    timer = new Timer();
    timer.schedule(new TimerTask() {
        @Override
        public void run() {
                        executeCode();
    },delay,period);

};

解决方法

在我看来,你应该使用带有IntentService的AlarmManager来安排重复后台任务而不是Timer任务. Timer不可靠,并且在Android Framework中并不总能正常工作.此外,如果手机处于睡眠状态,计时器将不会执行.您可以通过AlarmManager唤醒手机以执行代码.

看到:

https://developer.android.com/reference/android/app/AlarmManager.html

http://mobile.tutsplus.com/tutorials/android/android-fundamentals-scheduling-recurring-tasks/

http://android-er.blogspot.in/2010/10/simple-example-of-alarm-service-using.html

如果手机重启,则需要再次触发报警管理器.有关如何执行此操作的确切说明,请参阅本教程:

http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...