2014-11-03 132 views
0

我正在开发一个应用程序。在应用程序的活动执行的流程和任务如下:应用程序启动延迟

1)闪屏 - A.在异步任务1从服务器上下载一个图像,然后创建数据库 B.从交异步A的调用异步乙用于推送通知登记 C.从异步乙呼叫异步的C柱,以检查标志 -

If flag Screen2 == 1 { 
    If flag Screen3 == 1{ 
     go to screen 4 
    } else { 
     go to Screen 3 
    } 
} else { 
    go to screen 2 
} 

2)屏幕2 - 在onCreate()中:A.调用一些Web服务进行注册。屏幕2完成的B.将标志为1

3)屏幕3 - 在的onCreate():A.调用一些Web服务。屏幕3完成B.将标志为1

4)屏幕4 - 这是主屏幕。在的onCreate():A.调用一些Web服务B.注册广播接收器C.启动两项服务

的问题是:当我安装的应用程序运行正常。但是,当我关闭/杀应用程序,然后点击图标的应用程序启动延迟时,国旗Screen2 == 1.也当Screen3 == 1.

我不明白为什么我的应用程序行为是这样的。

请提供您宝贵的建议和指导。

谢谢。

+0

在延迟期间,会发生什么? – weston 2014-11-03 06:53:48

+0

那就是我没有得到。就在点击应用程序图标后,应用程序图标被禁用或变为淡入淡出,大约30秒后应用程序启动。 – 2014-11-03 07:00:29

回答

0

从哪里获得标志? 如果是从数据库保存并从首选项中检索它。

以线程或后台方式调用所有Web服务。

还可以在方法中启动所有服务,并在线程或后台服务中执行任务。

共享偏好有以下链接看看:

Link 1

Link 2

Link 3

而对于后台任务:

Link 1

Link 2

Link 3

1

可能你是在onCreate中同步进行web服务调用。 onCreate中的任何http调用应该是异步的(使用线程或使用库,如android volley - http://developer.android.com/training/volley/index.html

+0

我正在调用异步任务中的所有Web服务。 – 2014-11-03 07:59:28

+0

推送通知注册如何? – Aun 2014-11-03 08:11:54

+0

这也是在异步任务。 – 2014-11-03 08:13:30