Android Nougat在Oneplus上杀了我的应用程序

时间:2017-05-19 14:51:23

标签: android android-service android-7.1-nougat oneplusthree

我有一个用于研究目的的应用程序,用于从后台传感器收集数据。我使用注册某些广播接收器的服务,startForeground()附加到通知,我也使用START_STICKY在onStartCommand()中启动服务。 Marshmallow上的一切都运行良好但是当我在一段时间内使用7.1.1在OnePlus 3上试用它时,应用程序就会从正在运行的应用程序中消失......一切都被系统杀死了。有时我收到系统通知说:“注意,在后台运行的应用程序使用了很多......”。如果我单击此通知,则会打开“管理高功耗应用程序”的“设置”窗口,我的应用程序已存在,但禁用了“自动关闭高功耗应用程序”选项。 此外,我已将应用程序设置为电池下的系统设置中的“不优化”。实际上,如果我禁用那些消耗更多电池的传感器(如位置)的日志记录,一切正常,我可以无限期地运行应用程序。有关如何解决的任何建议吗?

请记住,这是一个用于研究目的的应用程序,它没有发布,因此不建议不要这样做,因为它可能会影响用户体验,事实并非如此。谢谢!

1 个答案:

答案 0 :(得分:2)

显然它是报告here的OxygenOS“功能”。我的堆栈跟踪已附加,我必须更换智能手机..

... 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}