我最近将一个已知运行时间长达数月的应用程序(DIY 分区项目)移植到 Android(附件驱动程序、核心进程和遥控器)。而且,不幸的是,尽管使用了保持运行服务活动的技术(START_STICKY,startForeground()),但有时 system^H 服务应用程序只是冻结 - 直到用户启动与服务的交互,之后它恢复正常操作。最大的问题是它是间歇性发生的,而且主要是在几天的正常运行时间之后。遥控器一次在模拟器上工作几天,没有明显的降级,所以问题很可能出在服务或附件驱动程序中。
目前,该系统针对 API 10,因此高级服务调度功能不可用 - 也就是说,如果它们与一开始的问题相关。
现在,调试和/或分析这样一个系统的现实方法是什么?请记住,adb 不适用于连接到 ADK 附件的 Android 硬件。