Android P는 이제 앱이 응답하지 않을 때 알려주는 대신 앱과 충돌합니다.

Android P는 이제 앱이 응답하지 않는다고 알리는 대신(앱이 응답하지 않음 또는 ANR 대화상자로 알려져 있음) 앱을 중단시킵니다. 이는 부실하게 만들어진 앱에 대해 개발자를 공격하는 데 사용되는 전술이며 실제로 효과가 있을 수 있습니다.

모든 것 중에서 새로운 추가 Android P에는 새로운 탐색 제스처, 조각 API 및 새로운 생체인식 API, 보다 미묘한 방식으로 영향을 미칠 수 있는 몇 가지 다른 변경 사항이 있습니다. 그 중 하나는 포그라운드 앱에 대한 ANR(App Not Responding) 대화 상자를 제거하는 것입니다. ANR 대화상자는 기본 UI 스레드의 응답을 방해하는 요인이 있을 때 나타납니다. Android Oreo 이하에서 이런 일이 발생하면 ANR 대화 상자가 표시되어 사용자에게 알립니다. 이제 Android P에서는 사용자에게 어떤 종류의 알림도 없이 애플리케이션이 충돌합니다.

실제로 무슨 일이 일어났는지 사용자에게 알리지 않고 애플리케이션이 충돌하는 이유는 무엇입니까? 이는 반드시 사용자에게 이점이 되는 것은 아니지만 개발자는 특정 문제에 특별한 주의를 기울이고 문제가 방지되도록 해야 합니다. 개발자는 포그라운드 스레드에서 아무것도 실행하지 않는 것이 좋습니다. 아래 링크된 소스 비디오에서 Google은 다음을 포함하여 이 문제를 방지할 수 있는 잠재적인 솔루션에 대해 논의합니다. 비동기태스크 API. 백그라운드 서비스에 대한 Android의 최근 제한 사항은 여기서 서비스로 전환하는 것이 아마도 좋은 생각이 아니라는 것을 의미합니다. 이 문제를 해결하는 방법에 대해 더 자세히 알아보고 싶다면 아래 대화를 듣는 것이 좋습니다.

Google의 접근 방식은 일리가 있지만 너무 지나친 것일까요? Android 앱이 덜 자주 충돌하는 것처럼 보일 수 있지만 알림이 사용자에게 덜 보이는 경우 그러면 개발자는 직접적인 사용자가 아닌 Firebase 충돌 보고와 같은 충돌 도구에 주의를 기울여야 합니다. 피드백. 최신 P 베타 릴리스의 개발자라면 개발자 옵션에서 설정을 활성화하여 이러한 충돌 대화 상자를 다시 가져올 수 있습니다.

앱이 백그라운드에서 수행하는 작업에 대한 가시성에 대한 Android P의 유일한 변경 사항은 아닙니다. Android Oreo에서는 다음과 같은 경우에 지속적인 알림을 도입했습니다. 특정 앱이 백그라운드에서 실행 중이었습니다. 해당 앱에 우선순위가 충분히 높은 알림이 없었지만 이제 Android P에서는 해당 알림을 완전히 제거합니다. 유일한 차이점은 ANR 대화 상자가 지속적인 알림을 보내는 것만큼 짜증나지 않았다는 것입니다.


경로: /r/AndroidDev