我有一项服务,我试图不断运行,只要用户开启它。问题是该服务使用了大量的内存;我猜是因为它会通知用户并不断显示图像。所以我将大部分代码放在另一个活动中。该服务只是调用活动。
public class AUTOAlarmService extends Service {
@Override
public void onCreate() {
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Intent DI = new Intent(getBaseContext(), AUTOSERVICES.class);
DI.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
getApplication().startActivity(DI);
return START_STICKY;
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
}
答案 0 :(得分:1)
我认为您应该重新考虑一些已完成的工作,因为您的服务占用了太多资源而且不应该以任何方式发生。有很多应用程序有很多服务,但没有重新启动设备的问题。
但是,如果要重新启动服务,则必须停止,然后再次启动该服务。
stopService(new Intent(this, YourService.class));
startService(new Intent(this, YourService.class));
希望它有所帮助。