============問題描述============android
最近在一本書上看到這樣一句話「一個Binder服務端實際上就是一個Binder類的對象,該對象一旦建立,內部就啓動一個隱藏線程。該線程接下來會接收Binder驅動發送的消息。」
我有如下2個疑問:
1:這個隱藏線程是在什麼地方被建立的?
2:android中的系統服務也是從Binder派生的,那麼這些系統服務也都有一個隱藏線程嗎
請高手指教,謝謝。
============解決方案1============eclipse
1.在後臺建立的
2.有隱藏線程,可是要等待啓用
============解決方案2============線程
Client 端不建立額外的thread。
Server 端在註冊服務後就建立Tread。
如
ProcessState::self()->startThreadPool();
IPCThreadState::self()->joinThreadPool();
============解決方案3============對象
每一個process,都會有這兩個binder thread的。最簡單的驗證方法,eclipse看一下。
============解決方案4============進程
zygote,看看這個裏面的代碼.android 中的應用,service都是從這個進程fork來的。