R Ravichandran wrote:
> Thanks Mark. Actually the code I posted missed out the 'onStart' method
> details that I actually tried. Here is the actual 'onStart' method of
> the MyService class I used where I create the thread and starting it.
>
>
> @Override
> public void onStart(Intent intent, int startId) {
> System.out.println ("MyService ))))))))))))))))))))))))))");
> super.onStart(intent, startId);
> Thread t = new Thread(this);
> t.start();
> }
>
> I modified the run method I put some System.out. statement inside a
> while(true) loop. The idea was to keep this service running as long as
> the device is on. But it looks like the system is sending a SIG 9 to
> kill the process (process id 697) for the 'service'. Here is the logcat
> lines that I see.
>
> D/installd( 557): DexInv: --- BEGIN '/data/app/vmdl51510.tmp' ---
> I/System.out( 697): =====>: inside the run method....Count = 49
> I/System.out( 697): =====>: inside the run method....Count = 50
> D/dalvikvm( 722): DexOpt: load 41ms, verify 52ms, opt 1ms
> D/installd( 557): DexInv: --- END '/data/app/vmdl51510.tmp' (success) ---
> D/PackageManager( 583): Services: com.bn.InStoreWifiConnectivityManager
> D/PackageManager( 583): Receivers: com.bn.InStoreWiFiServiceInitiator
> I/System.out( 697): =====>: inside the run method....Count = 51
> I/installd( 557): move
> /data/dalvik-cache/d...@app@[email protected] ->
> /data/dalvik-cache/d...@[email protected][email protected]
> D/PackageManager( 583): New package installed in /data/app/com.bn.apk
> I/System.out( 697): =====>: inside the run method....Count = 52
> D/AndroidRuntime( 708): Shutting down VM
> D/dalvikvm( 708): DestroyJavaVM waiting for non-daemon threads to exit
> D/dalvikvm( 708): DestroyJavaVM shutting VM down
> D/dalvikvm( 708): HeapWorker thread shutting down
> D/dalvikvm( 708): HeapWorker thread has shut down
> D/jdwp ( 708): JDWP shutting down net...
> D/dalvikvm( 708): VM cleaning up
> D/dalvikvm( 708): LinearAlloc 0x0 used 627404 of 4194304 (14%)
> D/ActivityManager( 583): Uninstalling process com.bn <http://com.bn>
> I/System.out( 697): =====>: inside the run method....Count = 53
> D/ActivityManager( 583): Force removing process ProcessRecord{436ea918
> 697:com.bn/10020 <http://com.bn/10020>} (com.bn/10020 <http://com.bn/10020>)
> W/ActivityManager( 583): Scheduling restart of crashed service
> com.mypackage/.MyService in 5000ms
> I/Process ( 583): Sending signal. PID: 697 SIG: 9
> D/ActivityManager( 583): Received spurious death notification for
> thread android.os.binderpr...@436c0898
> E/ActivityThread( 583): Failed to find provider info for
> android.server.checkin
> W/Checkin ( 583): Can't log event SYSTEM_SERVICE_LOOPING:
> java.lang.IllegalArgumentException: Unknown URL
> content://android.server.checkin/events
>
> Looks the process Id 583 is the one that sends SIG 9. Any idea why this
> is happening?
Possibly, it's because your service crashed:
> W/ActivityManager( 583): Scheduling restart of crashed service
> com.mypackage/.MyService in 5000ms
Usually, logcat will show a stack trace associated with service crashes.
Bear in mind, though, that your process will be shut down for other
reasons as well, such as memory reclamation. Keeping a service running
all the time is an Android "code smell" -- while it is possible, and
there are occasions when it is the right design, it feels like the vast
majority of people try it when they don't need it.
Consider using an AlarmManager to start your service on a periodic
basis, and have the service stopSelf() when the background thread is
done performing that cycle's worth of work. This will be more reliable
and, for reasonably long alarm periods, more efficient.
--
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy
_Beginning Android_ from Apress Now Available!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---