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

怎样修改网站关键词顺德大良网站建设开发

怎样修改网站关键词,顺德大良网站建设开发,自己建网址,邯郸专业网站建设公司2-1 你知道应用进程是怎么启动的吗? (1) Linux下进程启动的方式 pidfork(),这个方法会返回2次。pid为0时在子进程执行#xff0c;pid为子进程的进程id时#xff0c;在父进程执行。若在子进程中#xff0c;没有execve(path, argv, env)函数#xff0c;则子进程共享父进程…2-1 你知道应用进程是怎么启动的吗? (1) Linux下进程启动的方式 pidfork(),这个方法会返回2次。pid为0时在子进程执行pid为子进程的进程id时在父进程执行。若在子进程中没有execve(path, argv, env)函数则子进程共享父进程的资源如执行了此函数则path会替换父进程的资源即不与父进程共享。 (2) 应用进程启动的基本流程 什么时候触发的进程启动? 答被动启动启动组件的时候判断进程是否启动若未启动则先启动进程。 谁发起的? 答由AMS向zygote发起的通过socket通信将要启动的类名ActivityThread和方法名main发送给zygote. 进程是谁启动的?怎么启动的? 答zygote fork出应用进程会去执行入口函数即ActivityThread的main函数。应用进程启动之后向AMS报告将applicationThread注册到AMS整个启动才算结束。 2-2 应用是怎么启用Binder机制的? 了解binder是用来干什么的? 答跨进程通信 应用里面哪些地方用到了binder机制?答启动组件(如activity,service,广播) 应用的大致启动流程是怎样的? 答AMS请求zygote,zygote启动应用,应用告诉AMS它已经启动了。 一个进程是怎么启用binder机制的? 答binder机制是在zygote启动应用的过程中启动。zygote的runOnce()函数中 》获取参数 》for应用 》在子进程执行handleChildProc() 》zygoteInit() 》后续步骤同2-3(3)启用binder机制打开binder驱动映射内存分配缓冲区启动binder线程进入binder loop。 2-3 谈谈你对Application的理解 (1) Application的作用初级) 答1.保存应用进程内的全局变量生命周期长2.初始化操作启动早3.提供应用上下文。 (2) Application的类继承关系以及生命周期中级) 答继承关系Application继承自ContextWrapperContextWrapper继承ContextContextWrapper类包装了Context在其中有个成员变量Context mBasemBase通过构造函数或者attachBaseContext()方法赋值初始化(典型的静态代理)。 生命周期启动和结束。启动包括构造函数;attachBaseContext;onCreate。 (3) Application的初始化原理高级) ActivityThread的main() 》 ActivityThread thread new ActivityThread();thread.attach(false); 》ActivityManagerNative.getDefault().attachApplication(mAppThread)这里是跨进程binder调用 》在AMS中attachApplication() attachApplicationLocked(thread, callingPid); 》thread.bindApplication(...) 跨进程binder调用 在应用进程中bindApplication() 》封装参数到 AppBindData datasendMessage(H.BIND_APPLICATION, data)即发送消息到主线程 》handleBindApplication(AppBindData data) 》先获取应用安装包信息(LoadedApk类)然后makeApplication(...) 》构建ContextImpl context,newApplication(...) 》newApplication(cl.loadClass(className), context); 》Application app (Application)clazz.newInstance();app.attach(context); 》callApplicationOnCreate(app)即application的onCreate()方法。 (4) 不要在application的onCreate()方法中执行耗时操作为什么 在attachApplicationLocked(IApplicationThread thread,...)方法中这里是在主线程执行的。 boolean attachApplicationLocked(IApplicationThread thread,...) { thread.bindApplication(...);//oneway即向AMS发送请求后不用等处理完马上返回这里并不会阻塞主线程 ... mStackSupervisor.attachApplicationLocked(...);//Activity组件的启动 mServices.attachApplicationLocked(app, processName);//Service组件的启动 sendPendingBroadcastsLocked(app);//广播的启动 } 从上面可以看出onCreate()方法中执行耗时操作不会阻塞AMS但会延迟应用组件的启动。 2-4 谈谈你对Context的理解 Context的作用:应用组件的上下文有了上下文组件就可以访问资源和调用系统服务。 (1) 应用里面有多少个Context?不同的Context之间有什么区别? 答activity的个数 service的个数 application的个数(单进程只有1个实例)。广播和Content Provider并没有继承context。activity因为要显示UI,是继承了ContextThemeWraper,而application和service是继承了ContextWraper. (2) Activity里的this和getBaseContext有什么区别? 答 this是指Activity对象自己getBaseContext是指Context里的成员变量Context mBase. (3) getApplication和getApplicationContext有什么区别? 答都是返回application对象。getApplicationContext是Context里的一个抽象方法getApplication只有activity和service里特有的。 (4) 应用组件的构造onCreate、attachBaseContext调用顺序? 答应用组件的构造方法 - attachBaseContext - onCreate.
http://www.yutouwan.com/news/358929/

相关文章:

  • 如何用用dw做网站后台网站优化该怎么做
  • 网站空间免费试用优秀英文企业网站
  • 如何自己创建网站教程所有北京网站建设公司
  • 采集数据做网站周口市做网站
  • 网站建设详细报价建设网站价位
  • 支持企业网站发布要怎么做安徽互联网前十名公司
  • 公司网站怎么免费建青岛做网站eoe
  • 网站建设外包发展情况wordpress 标题字数
  • 做网站用不用云服务器网站开发现在是热门专业吗
  • 怎么在网站上做链接青岛房产网58同城网
  • 新作的网站怎么做百度推送论述网站建设引言
  • 鄂尔多斯网站推广广西城乡住房建设厅网站
  • 常州高端网站建设公司中国铁建集团门户网官网
  • 服饰网站模板设计wordpress导出主题
  • 蒙自网站建设自己怎么做彩票网站吗
  • 文化建设设计网站外贸企业 网站
  • 东莞长安网站设计网站由哪儿三部分组成
  • wordpress建站详细教程视频网站关键词排名如何提升
  • 平台网站怎么做的哈尔滨红军街67号
  • 万网网站空间购买wordpress获取菜单信息
  • 优秀北京网站建设专门做国外家具书籍的网站
  • 网站建设费缴税企业直播解决方案
  • 域名 备案 网站外贸手机网站建设
  • 规划管理部门的网站建设企业如何建官方网站
  • 湖南网站推广多少钱家具东莞网站建设
  • 做网站如何躲过网警企业营销管理系统
  • 如何做网络销售平台seo搜索推广费用多少
  • 网站建设费进项税金可以抵扣吗需要手机号注册的网站
  • python和php哪个做网站营销型网站建设的特点表现
  • 免费的网站域名查询网站降权怎么恢复