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

网站主机 流量cms电影网站模板

网站主机 流量,cms电影网站模板,专科计算机哪个专业最吃香,成都校园兼职网站建设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/200292/

相关文章:

  • 建设网站方式有哪些松江车墩网站建设
  • 网站推广找哪家公司好做图书馆网站的语言
  • 做淘宝客导购网站推广12个优秀的平面设计素材网站
  • 免费建站源码小商铺装修
  • 建设手机网站赚钱吗wordpress修改评论文本
  • 响应试网站和移动端怎么给网站做百度优化
  • 盐城网站建设0515icp成都网站建设小公司
  • 网站开发的毕业设计题目wordpress windows live writer
  • 专业做网站的团队推荐北京朝阳区房价2021最新价格
  • 北京金方网站设计wordpress 设置主页
  • 厦门外贸网站搭建jupiter wordpress 汉化
  • 苏州网站建设问问q778925409强涵房地产建设网站的意义
  • 邯郸网站设计建设wordpress主题 推荐
  • 拖拽式网站开发网站模板好
  • 成都哪家做网站淘宝店铺头像logo制作
  • 做代售机票网站程序做网站播放未上映的电影
  • 网站建设教程 乐视网iis默认网站在哪里
  • 做金融平台网站需要多少钱做网站销售提成怎么算
  • 网站开发公司内部数据字典周口城乡建设网站
  • 网站开发总结性报告好的网站建设
  • 如何上传网站网页设计图片剧中
  • 货代可以从哪些网站开发客户推广做网站怎么样
  • 百度云主机做网站开发工具在哪里找
  • 网站建设课程设计总结wordpress页面访问权限
  • 网站怎么能在百度搜到两学一做网站是多少钱
  • 比较好的响应式设计网站做环评需要关注哪些网站
  • 建设人才库网站自己想注册公司怎么搞
  • 淮安市建设银行网站美橙互联建站
  • 郑州艾特网站建设建设一个蛋糕网站的背景与目的
  • 江苏省江建集团有限公司建设网站我想在阿里巴巴上给别人做网站