位置: 编程技术 - 正文

Android虚拟机学习总结Dalvik虚拟机进程和线程的创建过程分析(android系统虚拟机)

编辑:rootadmin

推荐整理分享Android虚拟机学习总结Dalvik虚拟机进程和线程的创建过程分析(android系统虚拟机),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:安卓虚拟机运行机制,安卓虚拟机运行机制,安卓虚拟机使用教程,安卓虚拟机运行机制,android虚拟机怎么运行,android虚拟机原理,安卓虚拟机虚拟机,android虚拟机原理,内容如对您有帮助,希望把文章链接给更多的朋友!

Dalvik虚拟机在调用一个成员函数的时候,如果发现该成员函数是一个JNI方法,那么就会直接跳到它的地址去执行。也就是说,JNI方法是直接在本地操作系统上执行的,而不是由Dalvik虚拟机解释器执行。由此也可看出,JNI方法是Android应用程序与本地操作系统直接进行通信的一个手段。

Dalvik虚拟机除了可以执行Java代码之外,还可以执行Native代码,也就是C/C&#;&#;函数。这些C/C&#;&#;函数在执行的过程中,又可以通过本地操作系统提供的系统调用来创建本地操作系统进程或者线程,也就是Linux进程和线程。如果在Native代码中创建出来的进程又加载有Dalvik虚拟机,那么它实际上又可以看作是一个Dalvik虚拟机进程。另一方面,如果在Native代码中创建出来的线程能够执行Java代码,那么它实际上又可以看作是一个Dalvik虚拟机线程。

一、Dalvik虚拟机进程的创建过程

Dalvik虚拟机进程实际上就是通常我们所说的Android应用程序进程。Android应用程序进程是由ActivityManagerService服务通过android.os.Process类的静态成员函数start来请求Zygote进程创建的,而Zyogte进程最终又是通过dalvik.system.Zygote类的静态成员函数forkAndSpecialize来创建该Android应用程序进程的。

Android虚拟机学习总结Dalvik虚拟机进程和线程的创建过程分析(android系统虚拟机)

二. Dalvik虚拟机线程的创建过程

在Java代码中,我们可以通过java.lang.Thread类的成员函数start来创建一个Dalvik虚拟机线程,

1. Dalvik虚拟机进程就是本地操作系统进程,也就是Linux进程,区别在于前者运行有一个Dalvik虚拟机实例。

2. Dalvik虚拟机线程就是本地操作系统进程,也就是Linux线程,区别在于前者在创建的时候会自动附加到Dalvik虚拟机中去,而后者在需要执行Java代码的时候才会附加到Dalvik虚拟机中去。

Dalvik虚拟机使用本地操作系统的进程来作为自己的进程。

摘至:

Android之Window window表示的是一个抽象窗口类,该类只是一个抽象窗口类,其具体的唯一实现类是PhoneWindow类。Window对象的获取通过在Activity中调用getWindow()方法获取

AndroidAnnotations框架Eclipse下的配置 AndroidAnnotations是一个开源框架,利用注解方式来简化代码结构,提高开发效率。因为最近有个项目使用了该框架,就记录一下Eclipse下的配置流程。下载

android 自定义view之(一) Creating a View Class CreatingaViewClassAwell-designedcustomviewismuchlikeanyotherwell-designedclass.Itencapsulatesaspecificsetoffunctionalitywithaneasytouseinterface,itusesCPUandmemoryefficiently,andsoforth.Inadditiontobe

标签: android系统虚拟机

本文链接地址:https://www.jiuchutong.com/biancheng/383224.html 转载请保留说明!

上一篇:Android开发中工具类的介绍(android开发工程师岗位说明)

下一篇:AndroidAnnotations框架Eclipse下的配置

  • 月薪3万个人所得税是多少
  • 固定资产计提折旧计入什么科目
  • 进项抵扣用不完怎么处理
  • 财政拨款收入和财政补助收入的区别
  • 接受的捐赠收入要交税吗
  • 缴纳个税和社保
  • 外经证提交一般要多久可以通过
  • 制造企业售后服务方案
  • 用于不动产的进项税能抵扣吗
  • 单位补缴社保会罚款吗
  • 收到社会保险基金管理局转来的失业保险金,社保代发
  • 职员在外地出差怎么处理
  • 改建的固定资产
  • 税审报告谁签字
  • 季度企业所得税计算方法举例
  • 核定征收怎么交企业所得税
  • 证券公司期货业务管理办法
  • 外账不能出现收据
  • 商品赠送的内账怎么做账
  • 付款信息和开票信息区别
  • 所得税年报流程
  • 审计报告格式与范文怎么写?
  • 五月份开的发票但是七月冲红了七月增值税怎么报
  • 个人出租住房如何倒算开票金额
  • 出口押汇和议付的区别
  • 利息支出怎么结转
  • 进项税额及存货减值
  • 华为鸿蒙怎么搞
  • 为什么iphone手机闹钟定了不响
  • 基金管理人业绩报酬分配模式
  • 财政应返还额度年末有余额吗?
  • 最高跑分纪录的显卡是什么
  • php实现微信发红包的方法
  • PHP:imagetruecolortopalette()的用法_GD库图像处理函数
  • 为什么不能零申报
  • 财政补贴的内容分类
  • 供热企业的税收分类编码
  • 当月进项税额转出当月申报吗
  • ci框架中新建的控制器取不到session
  • 债务重组收入属于什么科目
  • vuexl
  • ts入门教程
  • 前端cgi
  • 使用jquery的好处
  • inotify_event
  • 存货毁损计入什么科目
  • 能单独打一张发票的软件
  • 长期股权投资减值准备是什么科目
  • 以货换货账务怎么处理
  • 合营企业和联营企业都是权益法吗
  • 外贸进项税额怎么算
  • mysql字符串索引如何排序
  • 息税前利润的计算公式EBIT
  • 一般纳税人福利费
  • 生产经营所得如何申请退税
  • 发票抵扣联要放入凭证里吗
  • 与其他企业联营
  • 公司运营成本如何计算
  • 无形资产入股交税吗
  • 项目资本金如何确定
  • 如何设置生产成本总账表格
  • mysql数据库5.7.27安装
  • mysqldump -h
  • MYSQL updatexml()函数报错注入解析
  • bios怎么恢复出厂设置有什么后果?
  • win2008下的HPC群集是什么有什么作用
  • xp系统一直在启动界面怎么办
  • linux rsyslogd
  • linux 文件命名
  • bat运行完后不退出
  • perl中sub
  • 基于stm32的100个毕业设计
  • javascript自动化
  • js与jquery的关系
  • python批量修改文本内容
  • python爬虫抓取数据的步骤
  • 税务总局机关
  • 专票购买方是对方公司吗
  • 什么叫以物易物
  • 建筑企业应如何选择适用的质量体系标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设