我想在我的App.so后台运行一个长期运行的服务我正在使用服务,但在服务中有标签名为
android:process所以我的服务就像..
<service android:name="com.purpleshade.services.ApplicationService" android:process=":myprocess">
题::
所以我想知道在不同的流程中运行服务的优缺点.
解决方法
我的头顶……
缺点:
>您必须使用进程间通信与之通信,这比与客户端在同一进程中的速度要慢.
>调试变得更加困难,因为现在可能需要附加一个不同的进程.
>如果崩溃,它会独立于主进程崩溃.有人可能会说这也是一个好处.需要考虑的事情.
>任何初始化代码都需要特别小心,例如在Application实例中.每个进程都会有一个Application上下文实例.因此,例如,如果您正在初始化类似GCM的内容,您可能希望确保仅在主进程中执行此操作. (参考此,具体为:http://developer.android.com/reference/android/app/Application.html)
潜在上升空间:
>我能想到的唯一真正的好处,也是我唯一一次使用单独的流程,就是你可以获得一个全新的堆空间来独立于主流程工作.如果您需要此内存进行某些操作,则非常有用