Android에서 활동이 일시적입니다. Android는 언제든지 응용 프로그램을 파괴하거나 일시 중지 할 수 있습니다. 장시간 실행중인 활동이 일시 중지되거나 파괴되면 어떻게 현재 시간을 파악하고 의도를 실행할 수 있습니까? 경보 관리자는 경보가 트리거 된 시스템에 설정된 경보 수에 따라 시스템에 경보를 설정하거나 그 시간에 대략적으로 또는 지정된 시간에 경보를 설정하며이를 사용하여 인 텐트를 트리거 할 수 있습니다.
편집 : 응용 프로그램에 서비스가있을 수 있습니다. 이 서비스는 응용 프로그램의 일부이며 응용 프로그램 스레드에서 실행됩니다. 처리기를 생성하여 현재 시간에서 결정된 초까지 일부 코드를 트리거 할 수 있습니다. 서비스는 계속 실행되지 않고 주 스레드에서 모든 포커스를 취하기 때문에 괜찮습니다. 서비스는 코드를 실행 한 다음 끝내는 서비스입니다. 그것은 어떤 선을 기다리고 거기 머물러 있지 않습니다. 주 스레드에서 실행되므로 서비스의 코드가 항상 실행중인 경우 응용 프로그램에서 ANR이 발생할 수 있습니다. 계산 시간은 모든 처리 능력을 필요로하고 애플리케이션을 정지시키기 때문에 서비스의 while 루프처럼 완료되어야하는 것이 아닙니다. 이것이 알람이 유용한 이유이며, Android가 그 순간에 트리거합니다. 애플리케이션에서 처리중인 것이 아닙니다. 물론 다른 스레드에서 서비스를 만들 수는 있지만 시계와 같은 시간을 계산하는 것이 실제로 필요하지 않으면 왜 그런지 알지 못합니다.이 경우 알람이 더 좋습니다.
응용 프로그램이 서비스에서 시간 계산을 할 수 있으므로이 대답은 완전하지 않습니다. 그러나 서비스에 대한 논쟁은 배터리 수명입니다. 시간 계산을 위해 휴대 전화 스폰 서비스의 각 앱을 상상해보십시오. 그럼에도 불구하고 내부적 인 이유로이 작업을 수행하는 시스템을 수행하는 것이 더 쉽습니다. 따라서 RAM과 CPU를이 문제로 복잡하게 만들 필요가 없습니다. – deekay