Android
文档指出:
服务
不是一个单独的进程。 Service
对象本身并不意味着它在自己的进程中运行;除非另有说明,否则它与它所属的应用程序在同一进程中运行。
服务
不是线程。它本身并不是脱离主线程进行工作的方法(以避免 Application Not Responding
错误)。
那又是什么呢?它是如何在 Java
中实现的,Linux
系统如何处理它?
ps -t
显示它具有不同的 PID。
最佳答案
Then what is it?
嗯,它是一个 Java 对象,就像 Activity
, BroadcastReceiver
等
How is it implemented under the hood in java
它只是一个 Java 对象。但是,像Activity
和 BroadcastReceiver
, 而不同于 Integer
或 TextView
,您进程中的 Android 框架将通过实例化(如果需要)和调用 Service
上的方法来响应特定的 IPC 事件。 (例如,onStartCommand()
和 onBind()
)。
and how does linux system treat it?
Linux 忽略了 Java 对象。
ps -t shows that it has a different PID
Java 对象没有出现在 ps
中输出。
关于android - 什么是 Android 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987918/