"坠毁服务"但是到ONSTART没有呼叫调度启动()如下 [英] "Scheduling restart of crashed service", but no call to onStart() follows

查看:173
本文介绍了"坠毁服务"但是到ONSTART没有呼叫调度启动()如下的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在1.6 API,是有办法,以确保服务的ONSTART()方法被调用后,该服务因杀害内存pressure?从日志,似乎过程的服务属于重新启动,但是服务本身是没有的。我已经放置了一个Log.d()调用在ONSTART()方法,这是没有达到

要在内存pressure测试我的服务,我从活动中产卵,然后启动Web浏览器并访问像Slashdot的一些JavaScript重的网站,直到我的服务被杀害。该logcat的内容如下:

  03-07 16:44:13.778:信息/ ActivityManager(52):过程com.kostmo.charbuilder.full(PID 2909)已死亡。
03-07 16:44:13.778:WARN / ActivityManager(52):坠毁服务com.kostmo.charbuilder.full调度启动/ com.kostmo.charbuilder.DownloadImagesService在5000毫秒
03-07 16:44:13.778:信息/ ActivityManager(52):内存不足:没有更多的后台进程。
03-07 16:44:13.778:ERROR / ActivityThread(52):未能找到android.server.checkin供应商信息
03-07 16:44:13.778:警告/签(52):无法登录事件SYSTEM_SERVICE_LOOPING:java.lang.IllegalArgumentException:如果未知的URL内容://android.server.checkin/events
03-07 16:44:18.908:信息/ ActivityManager(52):启动PROC com.kostmo.charbuilder.full服务com.kostmo.charbuilder.full / com.kostmo.charbuilder.DownloadImagesService:PID = 3560的uid = 10027导报= {3003,1015}
03-07 16:44:19.868:DEBUG / DDM堆(3560):GOT功能列表请求
03-07 16:44:20.128:信息/ ActivityThread(3560):发布商com.kostmo.charbuilder.full.pr​​ovider.character:com.kostmo.charbuilder.provider.ImageFileContentProvider
 

解决方案

所揭示的Chistopher的上述评论,即使日志声称是应声服务安排重新启动 ,这实际上并不意味着 ONSTART()方法将被调用。然而,的onCreate()的确会叫,你的应用程序可以调用 ONSTART()从那里。

In the 1.6 API, is there a way to ensure that the onStart() method of a Service is called after the service is killed due to memory pressure? From the logs, it seems that the "process" that the service belongs to is restarted, but the service itself is not. I have placed a Log.d() call in the onStart() method, and this is not reached.

To test my service under memory pressure, I spawn it from an activity, then launch the web browser and visit some Javascript-heavy websites like Slashdot until my service is killed. The logcat reads:

03-07 16:44:13.778: INFO/ActivityManager(52): Process com.kostmo.charbuilder.full (pid 2909) has died.
03-07 16:44:13.778: WARN/ActivityManager(52): Scheduling restart of crashed service com.kostmo.charbuilder.full/com.kostmo.charbuilder.DownloadImagesService in 5000ms
03-07 16:44:13.778: INFO/ActivityManager(52): Low Memory: No more background processes.
03-07 16:44:13.778: ERROR/ActivityThread(52): Failed to find provider info for android.server.checkin
03-07 16:44:13.778: WARN/Checkin(52): Can't log event SYSTEM_SERVICE_LOOPING: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/events
03-07 16:44:18.908: INFO/ActivityManager(52): Start proc com.kostmo.charbuilder.full for service com.kostmo.charbuilder.full/com.kostmo.charbuilder.DownloadImagesService: pid=3560 uid=10027 gids={3003, 1015}
03-07 16:44:19.868: DEBUG/ddm-heap(3560): Got feature list request
03-07 16:44:20.128: INFO/ActivityThread(3560): Publishing provider com.kostmo.charbuilder.full.provider.character: com.kostmo.charbuilder.provider.ImageFileContentProvider

解决方案

As revealed by Chistopher's comment above, even though the log purports to be "Scheduling restart of crashed service", this does not actually mean that the onStart() method will be called. However, onCreate() will indeed be called, and your application can call onStart() from there.

这篇关于"坠毁服务"但是到ONSTART没有呼叫调度启动()如下的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆