2017-05-19 2 views
0

백그라운드에서 센서의 데이터를 수집하는 연구 목적으로 사용하는 애플리케이션이 있습니다. 일부 브로드 캐스트 리시버를 등록하는 서비스를 사용하여 startForeground()을 알림에 첨부하고 START_STICKY를 사용하여 onStartCommand()에서 서비스를 시작합니다. Marshmallow에서는 모든 것이 잘 작동하지만 잠시 후 7.1.1로 OnePlus 3에서 실행하면 응용 프로그램이 실행중인 응용 프로그램에서 사라집니다. 모든 것이 시스템에 의해 종료됩니다. 때로는 시스템 알림이 표시됩니다. "주의, 백그라운드에서 실행중인 응용 프로그램이 많이 사용 중입니다 ...". 이 알림을 클릭하면 "높은 전력 사용량 응용 프로그램 관리"라는 설정 창이 열리고 내 응용 프로그램은 있지만 "높은 전력 사용량 자동 종료 응용 프로그램"옵션이 비활성화됩니다. 또한 배터리의 시스템 설정에서 이미 앱을 "최적화하지 않음"으로 설정했습니다. 실제로 위치와 같은 더 많은 배터리를 소모하는 센서에서 로깅을 사용하지 않으면 모든 것이 잘 작동하므로 무제한의 시간 동안 애플리케이션을 실행할 수 있습니다. 해결 방법에 대한 제안?Android Nougat이 내 앱을 죽입니다.

연구 목적의 응용 프로그램이므로 게시되지 않으므로 사용자 경험에 영향을 줄 수 있으므로 권장하지 마십시오. 고맙습니다!

답변

1

분명히보고 된 OxygenOS "기능"입니다. here. 내 stacktrace가 첨부되어 있습니다. 스마트 폰을 바꿔야합니다.

... 05-19 21:03:12.434 it.unitn.disi.witmee.sensorlog I/System.out: SERVICE: true 05-19 21:03:27.689 it.unitn.disi.witmee.sensorlog I/art: Background partial concurrent mark sweep GC freed 265550(7MB) AllocSpace objects, 0(0B) LOS objects, 39% free, 14MB/23MB, paused 1.357ms total 106.126ms 05-19 21:03:43.649 it.unitn.disi.witmee.sensorlog I/art: Background sticky concurrent mark sweep GC freed 243975(7MB) AllocSpace objects, 0(0B) LOS objects, 30% free, 16MB/23MB, paused 1.610ms total 108.734ms 05-19 21:03:55.995 it.unitn.disi.witmee.sensorlog I/art: Background partial concurrent mark sweep GC freed 298424(8MB) AllocSpace objects, 0(0B) LOS objects, 39% free, 14MB/24MB, paused 1.716ms total 126.141ms 05-19 21:04:02.051 ? I/ActivityManager: [BgDetect]detect excessive cpu on process it.unitn.disi.witmee.sensorlog(pid : 27858) level 0 usage 29 05-19 21:04:02.088 ? I/ActivityManager: [BgDetect]force stop it.unitn.disi.witmee.sensorlog (uid 10245) level 0 05-19 21:04:02.089 ? I/ActivityManager: Force stopping it.unitn.disi.witmee.sensorlog appid=10245 user=0: from pid 1336 05-19 21:04:02.089 ? I/ActivityManager: Killing 27858:it.unitn.disi.witmee.sensorlog/u0a245 (adj 200): stop it.unitn.disi.witmee.sensorlog 05-19 21:04:02.089 ? W/ActivityManager: Scheduling restart of crashed service it.unitn.disi.witmee.sensorlog/.services.LoggingMonitoringService in 1000ms 05-19 21:04:02.091 ? I/ActivityManager: Force stopping service ServiceRecord{9156a9a u0 it.unitn.disi.witmee.sensorlog/.services.LoggingMonitoringService}

관련 문제