注册

嵌入UIDemo后,我的程序S ystem.exit(0)就出错了?

我自己的应用,加入了UIDemo的代码,可以聊天。
我的主程序是用S ystem.exit(0);退出的。
但一旦进入UIDemo,S ystem.exit(0);就引起我的程序卡死,动不了,只能进入android设置里杀死。
不进入UIDemo就没事。
是不是receiver或者EMChatService这种服务引起的?
当我退出的时候,如何退出这个接收器和服务呢?

已邀请:
报什么错,log信息贴出来
其实不是报错,是程序卡死了,动不了,只能点击主页按键,回到android桌面,然后在应用管理中,杀死这个应用。
所以没有出错信息
用S ystem.exit会卡死,用finish就没事。
如果先finish在s ystem.exit, 那么程序可以退出,但是我退出的时候提示的一个Toast会一直显示,直到我杀死程序才消失。
初步猜测是环信的service没有退出的原因吧。
请问如何退出?
我再研究了一下。
之前我用S ystem.exit(0)都是可以完全退出程序的,在DDMS看不到进程了。
一旦进入UIDemo的MainActivity,就退出不了,即使界面消失,DDMS还是可以看得到进程。
这说明,还是因为UIDemo启动了一些service的原因。请问如何退出services呢?
finish是Activity的类,仅仅针对Activity,当调用finish()时,只是将活动推向后台,并没有立即释放内存,活动的资源并没有被清理;当调用**.exit(0)时,杀死了整个进程,这时候活动所占的资源也会被释放。复写返回键执行finish()会调用onDestroy这个方法来关闭页面退出应用,而很多监听之类的资源释放是在这个onDestroy中进行的,有可能是onDestroy中的资源没有及时释放掉造成的你退出卡死的问题,建议你用finish()的方式退出应用,同时在onDestroy()中调用**.exit(0)试下看能不能解决退出问题。
你好,我也遇到这个问题,请问你解决了吗?

lizg - ……

> forum.php?mod=redirect&goto=findpost&pid=2631&ptid=927
你好,我也遇到这个问题,请问你解决了吗?


你用楼上的方法试试,

要回复问题请先登录注册