我在一个Activity中启动一个Service.
Service每一秒打印当前时间.
服务启动后,在Activity上按了一下返回键.
这时候回到Android桌面了.看不到Activity.
可是我看Log.d仍然每一秒打印一次时间.
而我按多任务键后,能看到刚刚运行的APK,我点右上方的X将它关闭后,
Log.d不打印了,感觉到了这里才时真正的结束了程序 .
于是我有点疑惑,难道返回键不是退出程序用的么?
我以前是这样理解的,返回键是退出程序,多任务键是列出最近运行过的程序...可现在感觉不是这样的,特此来请教大侠们,谢谢指导 .
您好,您Log.d输出是不是在新启动的线程中打印的,如果是,那就是您退出的时候没有关闭那个线程就会出现这种情况。
返回键执行onDestory是系统销毁了这个Activity的实例在内存中占据的空间。而您按多任务键手动关闭这个activity的时候是退出整个应用程序的,将这个应用程序的所有进程KO,所以就什么输出都没有了。
我也觉得是这样的,返回只是销毁了当前Activity所占的内存,而不是结束进程...谢谢你.
把服务与activity绑定 activity destory掉的时候服务也就停止了