我正在创建一个聊天应用程序,我想知道是否应该使用服务以及它将如何影响我的应用程序的生命周期。我知道如果没有足够的内存,Android操作系统可能会摧毁我的应用程序。我的问题:只有使用活动和接收器的应用程序重新启动,如果Android销毁它们,或者我需要一个STICKY服务吗?我已经创建了两个应用程序,所以我有点想法,但我只想确保。Android生命周期 - 我应该使用服务吗?
二,http://developer.android.com/reference/android/app/Service.html说:
需要注意的是服务,像其他应用程序对象,在主线程 其宿主进程的运行。这意味着,如果你的服务是 打算做任何CPU密集型(如MP3播放)或阻塞(如 如网络)业务,它应该酿出自己的线程在其中 做这项工作。
我的应用程序有一个长时间运行的线程(AsyncTask),它执行从服务器读取(并不断阻塞)。离开我的应用程序是否是一个好主意,没有服务,而是使用AsyncTask代替?如果Android选择关闭我的应用程序,这将如何影响应用程序的生命周期?如果不需要像在我应该做一个STICKY服务那样,有一个长期运行的服务是好的做法吗?我注意到很多聊天和txt msg应用程序使用粘性服务。我只是想想如果我的应用程序会需要一个。
再次提前致谢!
developer.android.com上的[** RandomMusicPlayer **](http://developer.android.com/resources/samples/RandomMusicPlayer/index.html)示例是实现音乐(或聊天)的一个很好的起点,需要访问互联网并在前台运行的服务。 – Jens 2012-02-29 08:12:57
我现在可以运行不同的应用程序,并且在不使用服务的情况下收到新消息时仍会收到通知(AsyncTask始终处于后台运行状态)。如果我想在活动之间访问资源,我在Application类中使用单例和静态引用,所以这也没有问题(每个活动都不需要绑定服务)。至于发送通知,任何活动都可以通过获取NotificationManager来发送通知。据我所知,即使在服务中,我也需要创建一个AsyncTask。我不确定我是否看到差异。 – ComputerEngineer88 2012-03-01 05:51:35