位置: 编程技术 - 正文

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联收据
  • 坏账准备和资产减值损失
  • 收到投资款怎么处理帐
  • 我国的社会保险费
  • 小规模纳税人销售自己使用过的汽车
  • 第三方工具查看对方关注抖音
  • 合同资产减值怎么填
  • PHP:session_encode()的用法_Session函数
  • PHP:get_meta_tags()的用法_url函数
  • php更新数据
  • 土地增值税预征的计征依据=预收款-应预缴增值税税款
  • 汽车消费税有发票吗
  • 应收账款怎么做会计分录
  • phpseessid
  • 蓝山公馆的房子怎么样
  • 十分=1
  • php自动识别验证码
  • java幂等性是什么
  • 5个 ChatGPT 功能,帮助你提升日常编码效率
  • pytorch jit
  • vue watcher
  • 如何在国家税务局增值税纳税申报
  • 将本月发生的制造费用在甲、乙产品之间
  • 固定资产的入账标准
  • 为公司垫付费用多久报销
  • 期初是什么
  • 个体户个税计算公式
  • 代开发票相关问答有什么?
  • 异地预缴税金
  • 盘亏的设备要进仓库吗
  • 计入委托加工物资成本的消费税
  • 跨年度发票能否税前扣除
  • 研发费用如何做账
  • 没有入账的固定资产怎样做账
  • 非限定性净资产属于什么科目
  • 高新企业 要求
  • sql参数化是什么意思
  • linux的命令行指的是什么
  • linux快速清空大日志文件
  • centos7如何添加永久静态路由
  • 微软surface pro 3按键驱动
  • centos6.5 minimal
  • linux 转换文件编码为utf8编码
  • linux chakan
  • 中国有多少台百万机组
  • 电脑系统 win7
  • win7怎样设置屏幕保护密码
  • js new option
  • js动态创建元素链接
  • 关于echo的名字
  • 本地安装策略在哪里
  • js每天的定时任务
  • Python性能优化指南
  • python中简单的例子
  • javascript生成随机整数
  • 二连浩特税务局国考分数线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设