0

我无法启动Service. 它甚至在应用程序启动之前就崩溃了。

      Intent repSer = new Intent(this,repService.class);

      startService(repSer);

这就是它Service本身。:

public class repService extends Service {
@Override
public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    while(true){
        Thread timer = new Thread(){
            public void run(){
                try {
                    sleep(5000);
                    // do something

                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } finally {
                    // do something
                }
            }
        };
        timer.start();  
    }   
}
}

也许这是错的?我的清单条目:

    <service android:name = ".repService"/>  
  </application> 
4

2 回答 2

1

您只是不断地循环遍历 while 并在内部使用计时器启动新线程。您可能正在超载线程。只要 while() 语句可以循环,您就可以创建另一个线程并启动它。

于 2012-06-12T14:38:53.380 回答
0

如果您尝试执行此代码,您肯定会得到java.lang.OutOfMemoryError 因为循环永远不会中断。

这是您的应用程序崩溃的主要原因。

还要确保您已<service android:name=".repService" />在清单中定义

您的清单应如下所示

在此处输入图像描述

于 2012-06-12T14:51:31.877 回答