当前位置: 首页 > news >正文

百度网站ip地址联盟营销是一种什么的网络营销方式

百度网站ip地址,联盟营销是一种什么的网络营销方式,电商网站开发技术方向,redis 缓存 wordpressZygoto的作用Zygoto的作用有两个#xff1a;1. 启动SystemServer2. 孵化应用进程SystemServer也是通过Zygoto来启动的#xff0c;因为SystemServer需要Zygoto初始化好的一些系统资源#xff0c;包括常用的类、JNI函数、共享库等等#xff0c;这些资源直接从Zygoto继承过来对… Zygoto的作用Zygoto的作用有两个1. 启动SystemServer2. 孵化应用进程SystemServer也是通过Zygoto来启动的因为SystemServer需要Zygoto初始化好的一些系统资源包括常用的类、JNI函数、共享库等等这些资源直接从Zygoto继承过来对启动SystemServer是一件性能提升的事情。Android中进程启动的通用流程 - 启动三段式进程启动 - 准备工作 - Loop循环Loop循环的作用是为了接收消息并处理消息。在Android中所有的独立进程的启动都是符合这个启动流程的。Zygoto的启动流程Linux启动之后用户空间的第一个进程是Init进程Init进程在启动之后会去读取init.rc的启动配置文件其中定义了需要启动的系统进程(其中包含Zygoto进程)。Init进程启动Zygoto的方式是fork execve的方式。进程启动通常有两种方式1. fork handle2. fork execve【说明】1. fork函数在创建进程的时候会返回两次返回两个pid当pid 0的时候说明当前处于子进程当pid不为0表示当前处于父进程中而此时的pid为子进程的pid2.fork函数创建的进程继承了父进程所有的系统资源我们在fork出的子进程中调用execve方法加载二进制文件可以重置继承自父进程的系统资源。信号处理 - SIGCHLD父进程通过fork创建的子进程当子进程挂了之后父进程会收到一个SIGCHLD的信号此时我们就可以在父进程中重启子进程。Zygoto在创建之后做了些什么1. Zygoto在native世界2. Zygoto在Java世界Zygoto是C编写的通过main函数入口运行Zygoto在native做了3件事情这3件事情都是为了进入Java世界作准备从上图可以看到Zygoto启动之后首先启动Android的虚拟机然后注册一些Android的关键的JNI函数最后通过调用JNI函数进入Java世界。上面的代码就是Zygoto启动之后做的事情从上面的代码可以看到Zygoto首先通过JNI_CreateJavaVM创建虚拟机在找到ZygotoInit的Java类文件并获取到该Java类的Main静态函数最后通过CallStaticVoidMethod方法调用Java类ZygotoInit的Main静态方法。我们在应用进程中调用JNI的时候是不需要创建虚拟机的即不需要调用JNI_CreateJavaVM方法这是因为虚拟机已经在Zygoto中创建完毕且应用进程是有Zygoto孵化的应用进程继承了Zygoto所有的系统资源同样包含虚拟机所以在应用进程中调用JNI函数前无需再次调用JNI_CreateJavaVM来创建虚拟机。Zygoto在Java世界中要做的事情有3件1. 加载资源这是为了在后续孵化子进程的时候可以将加载的系统资源继承给子进程2. 通过fork函数孵化SystemServer进程3. 启动Loop循环接收并处理Socket消息Zygoto启动Loop循环之后会接收Socket消息每次接收到Socket消息之后就会调用runOnce方法处理消息上面的代码是Loop中一次消息处理的过程首先会通过readArgumentList方法读取本次通过Socket传递过来的参数然后fork启动一个子进程再在子进程中处理参数。子进程是通过handleChildProc方法来处理参数handleChildProc本质上就是调用某个Java类的main函数执行的是哪个Java类呢执行的Java类的名称是通过AMS(Activity Manager Server)借助Socket发过来的此处通过readArgumentList读取到的。注意的细节1. Zygoto fork需要单进程Zygoto通过fork创建的子进程中只包含一个线程而Zygoto中包含多个线程(e.g. 守护线程等等)这些多余的线程在创建完成的子线程中是不存在的就会造成子进程中状态的错误所以在Zygoto fork新的子进程的时候会将所有主线程以外的子线程全部暂停fork完毕之后再启动所有的子线程。2. Zygoto的IPC(跨进程通宵)没有采用Binder机制而是使用本地的Socket服务。Zygoto进程并没有Binder机制所以Zygoto创建的应用进程中也没有继承到Binder应用进程的Binder是应用进程启动之后自己创建启动的。
http://www.pierceye.com/news/696336/

相关文章:

  • 老牌网站建深圳市建设工程服务交易中心
  • 网页界面设计布局青岛百度关键词优化
  • 彩票网站APP建设seo为什么不景气了
  • ps做网站标签wordpress 角色和权限管理
  • 网站建设情况报告范文微网站可以做成域名访问
  • 增城网站公司电话西安高端网站建设首选
  • 信息流广告素材网站零基础学做网站
  • 北京服饰网站建设实训百度搜索引擎的总结
  • 营销型网站建设的一般过程包括哪些环节?体育视频网站建设
  • 门户网网站seo怎么做电子商务平台怎么注册
  • 凡科网站插件代码阿里云网站备案后
  • 网站用什么系统好用免费网站建设找哪家
  • 网站到期续费吗网站开发是培训
  • 别人帮做的网站怎么修改怎么做产品推广和宣传
  • 国内返利网站怎么做php建设网站工具
  • 网站设计教程文档创业商机网农村
  • 宁夏交通建设质监局官方网站免费注册二级域名的网站
  • 网站门户设计网站建设有没有做的必要
  • 建模师的就业前景整站优化工具
  • 微信公众号怎么做链接网站网站404 原因
  • 安卓手机做服务器网站网站设计时多页面切换时什么控件
  • 长沙正规网站建设价格网站推广怎么发外链
  • 专业版装修用什么网站做导航条深圳网站制作易捷网络
  • 哪个公司建设网站好手机网站维护费
  • 中山高端网站建设wordpress调用分类文章列表
  • 营销网站的专业性诊断评价和优化做视频网站需要什么资质
  • 河南广告制作公司网站西班牙语网站设计公司哪家好
  • 做业务一般要注册哪些网站wordpress prepare
  • wordpress 鼠标经过seo网站内容优化有哪些
  • 单页网站制作视频教程深圳有哪些软件外包公司