处理程序停止一段时间后停止

时间:2013-06-01 06:01:39

标签: android handler

我的应用程序我正在使用Handler,它每1分钟就完成一次,在我的MainActivity中,问题是经过一段时间它停止工作。这是在三星Galaxy note gt n7000中发生但当我在其他非品牌手机中运行相同的代码时它工作正常我使用Handler跟随它有什么问题吗?

 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);   
 final Handler handler = new Handler();
        Runnable runnable = new Runnable() 
        {
            public void run() 
            {
                         //doing some Task
                 handler.postDelayed(this, 60000);
            }
        };
        runnable.run();
}

2 个答案:

答案 0 :(得分:0)

由于许多原因,处理程序可能会停止工作。

两个显而易见的是:

  • 被杀的过程
  • 由于手机进入睡眠状态,CPU停止了任何操作

请注意,在销毁Activity后,您的代码会导致内存泄漏。

无论如何使用AlarmManager来实现你想要达到的目标。

修改

关于为什么AlarmManager是来自CommonsWare的正确方法的精细(并且相当简短)的读物:http://www.androidguys.com/2009/09/09/diamonds-are-forever-services-are-not/

答案 1 :(得分:0)

或者你可以使用服务..(带有通知的服务不会被android os杀死)。 一些应用程序,如Rounder和GloveBox正在使用通知,以防止它们被系统杀死。