位置: 编程技术 - 正文

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下的配置

  • 纳税人规模证明是什么
  • 借贷利息怎么算
  • 社保局发放的稳岗补贴怎么入账
  • 不动产经营租赁服务包括哪些
  • 增加固定资产原值账务处理
  • 建筑行业预缴增值税可以用进项抵缴吗
  • 旅游业发票税率是多少
  • 抵扣白条账单是怎么回事
  • 税控服务费抵扣的文件
  • 本期准予抵减税额怎么算
  • 银行贷款受托支付后,钱怎么转回来
  • 2021年旅游免费
  • 从政府取得土地没有进项
  • 企业向银行贷款需要什么条件
  • 银行利息收入要开发票吗
  • 分期消费的实际收益
  • 购买法下购买成本包括
  • 怎样知道自己是否贫血
  • 腾讯电脑管家流量监控不显示
  • 王者荣耀电脑版叫啥名字
  • 应收票据冲转是什么科目
  • 销售商品全部退回
  • 检验费用会计分录
  • window10发现威胁怎么办
  • linux shell 比较运算符
  • php判断ua
  • 劳务的完成程度可以采用如下方法确定
  • win10组策略编辑器打不开怎么办
  • yifile怎么使用
  • 发生的广告费用属于什么会计要素
  • 应收账款包括哪些
  • 合理损耗企业所得税税率
  • thinkphp框架作用
  • 银行承兑汇票贴现率是多少
  • 个税申报中是否婚前各自首套贷款
  • pytorch如何训练模型
  • 科大讯飞语音识别主要产品
  • cpu spread spectrum
  • python如何设置窗口背景色
  • python中的比较
  • 发票退票和废票的区别
  • 作废的增值税普通发票怎么处理
  • 土地增值税预缴计算方法70号公告
  • 不动产进项税抵扣规定一次性抵扣
  • 合伙企业分配利润会计分录
  • spring security例子
  • sqlserver实现离散组合算法
  • 个人开咨询费 有哪些税
  • 委托加工物资的消费税计入成本吗
  • 政府扶持资金使用要求
  • 一般纳税人收取停车费的税率
  • 国债逆回购收益什么时候到账
  • 经济纠纷引发的盗窃
  • 租赁厂房生产是生产经营活动吗
  • 支付劳务公司的劳务费如何扣缴个人所得税?
  • 工程未竣工预付款怎么办
  • 有形资产的例子
  • 跨月普票作废怎么处理操作步骤
  • mysql在mac上的安装教程
  • linux系统中的用户大体可分为三组
  • solaris 11.4
  • 电脑上dell是什么意思
  • winxp如何设置自动关机
  • win7安全防护怎么关闭
  • cocos2dx 教程
  • 安卓开发源码
  • python读取grib
  • node.js javascript
  • 输入命令的三种方法
  • Android Toast设置弹窗大小
  • javascript操作csv
  • javascript数据结构与算法第三版
  • onclick和onfocus
  • pythondjango框架 目录结构
  • Javascript字符串出现次数
  • 建筑行业增值税税收优惠政策
  • 贵州房产备案信息查询网
  • 纳税服务投诉整改报告
  • 代理记账年费多少钱
  • 增值税普通发票和电子普通发票的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设