我在Activity的onCreate()或者是onStart()方法中开启一个线程连接我的服务器,如果连不上就继续连接,但是会出现闪屏,总是在闪,当前页面也不显示,这是怎么回事?有知道原因的么,或者有谁知道代码该如何写吗?
------解决方案--------------------
好像之前也有人遇到过这样的问题,你没有关闭之前的线程吧,,,
------解决方案--------------------
先确定闪屏是否由线程引起,不起线程是什么效果?起线程后,线程内不执行网络请求又是什么结果
------解决方案--------------------
那你这里是有重复连接了?连接失败就重复连接了?连接失败后进行了什么操作?
------解决方案--------------------
可以参考ddpush任意门推送的android客户端示例工程。
简单来说,这个线程应该放到service中,初始化service的时候开启,在onStartCommand返回return START_STICKY;
不过这样也未必能很好的保持,本人测试一般几十小时后还是会被kill掉,所以service可以发出一个不会被取消的通知
n.flags
------解决方案--------------------
= Notification.FLAG_ONGOING_EVENT;
n.flags
------解决方案--------------------
= Notification.FLAG_NO_CLEAR;
这样这个通知无法消除可能会让用户感到讨厌,不过能较好地保证service不被kill,从而让这个线程持续运行。需要衡量用户体验。