如果从Oncreate方法启动服务,活动屏幕是否会长时间显示?

时间:2014-03-07 20:39:00

标签: android

我有一个活动MainActivity.java。从主要活动的OnCreate()方法我已经启动了一个服务,它连接到MyService.java的OnCreate()方法内的rabbit mq消息服务器(它扩展了Service)。问题是acvitiy屏幕显示时间太长,因为兔子mq连接建立需要很长时间,因为网络速度慢。然后我的应用程序显示ANR消息,如何克服这个以及在哪里调用startService来避免消息

1 个答案:

答案 0 :(得分:0)

您需要在不同的线程上处理您的连接。你有几个选择。

  • 可运行
  • AsyncTask(许多程序员的首选方法)

我会推荐AsyncTask,因为这个网站上有很多例子,几乎无处不在。

无论您是否使用服务,都需要执行此操作。请记住,服务在与用户界面相同的线程中运行。所以也许你甚至不需要服务。

编辑:
您可以在应用程序的任何位置启动线程,包括活动的onCreate()。如果您选择在服务中启动线程,您也可以在任何地方启动线程,包括onStartCommand()