1、startService

在Android系统匿名共享内存(Anonymous Shared Memory)Java调用接口分析,https://blog.csdn.net/jltxgcy/article/details/31414509一文,Client调用了如下代码:

public class Client extends Activity implements OnClickListener {

public void onCreate(Bundle savedInstanceState) {

.....

startService(new Intent("shy.luo.ashmem.server"));

.....

}

..

}

下面我们就分析整个流程,直到执行:

public class Server extends Service {

public void onCreate() {

Log.i(LOG_TAG, "Create Memory Service...");

memoryService = new MemoryService();

try {

ServiceManager.addService("AnonymousSharedMemory", memoryService);

Log.i(LOG_TAG, "Succeed to add memory service.");

} catch (RuntimeException ex) {

Log.i(LOG_TAG, "Failed to add Memory Service.");

ex.printStackTrace();

}

}

.....

}

2、整个过程和Android Activity组件的启动过程https://blog.csdn.net/jltxgcy/article/details/35984557,几乎一致。只是ActivityRecord换成了ServiceRecord,mActivities换成了mServices,而且少了两个步骤,见下图:

128505_0.jpg

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐