位置: 编程技术 - 正文

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

  • 多缴纳社保怎么处理
  • 金税四期已经开始了吗
  • 以件数为印花税计税依据的有哪些
  • 定期定额户个人所得税怎么申报
  • 施工机械保险费属于什么费用
  • 单位出租厂房如何开票
  • 预计退货会计英语
  • 公司增资认缴需要什么流程呢怎么办理
  • 合伙企业个人所得税经营所得税率
  • 消费满额赠礼
  • 审计费的会计科目
  • 评估资产没有发票和流水怎么办
  • 工资退税手续需要多久
  • 实物捐赠怎么避免多缴企业所得税?
  • 小规模零申报资产负债表报错了要交印花税吗
  • 增值税收入和所得税收入不一致怎么办
  • 计提生产设备折旧费计入什么科目
  • 购入电脑一次性扣除
  • 会计的运费怎么写分录
  • 固定资产的专票可以抵扣吗
  • linux系统安装谷歌浏览器教程
  • 东方蝾螈怎么养吃什么
  • 入账成本包括增值税税额吗
  • 认缴出资什么时候补齐
  • 未分配利润转增股本交印花税
  • 工业会计做账的基本流程
  • vite配置详解
  • wordpress是开源吗
  • php.ini详解
  • php抓取网页图片
  • 电子汇票追索是什么意思
  • vue基础知识
  • 装修费还没摊销完就搬家了
  • ChatGPT在热门行业的应用场景有哪些
  • 未抵扣进项税额转出完整分录
  • halt关机命令
  • python颜色代码有哪些
  • 赠送油卡怎么使用
  • 所得税汇算清缴前取得跨年发票
  • 费用结转的方法有哪些
  • 个人发票抬头和税号是什么
  • 短期贷款利息支付
  • 委托加工物资的消费税
  • 汇算清缴里的账户是什么
  • 水泥贸易利润
  • 动迁补偿金
  • 相同的商品附带不同的赠品发布
  • 计提成本后如何冲回
  • 暂估入账的固定资产
  • 接受捐赠财产净价值属于所有者权益吗
  • 银行账户收到养老金怎么办
  • 一个工程项目多个业主吗
  • 分公司办事处需要什么手续
  • 预付账款属于资产类科目
  • 卸载win+r
  • wps2019视频
  • xp系统怎么修改图标和文字大小
  • linux sl
  • root linux
  • win10登陆界面怎么关闭
  • 文件系统的类型为raw
  • 怎么用linux运行c程序
  • cocos2d-x教程
  • 优质电子书app
  • opengl粒子系统烟花
  • nodejs cgi
  • Android闹钟服务
  • dota2 服务器ip地址
  • css 分页
  • Node.js中的什么模块是用于处理文件和目录的
  • python的threading模块详解
  • jquery .html的用法
  • jQuery实现TAB选项卡切换特效简单演示
  • Python实现Sqlite将字段当做索引进行查询的方法
  • 申请电子发票需要去税务局吗
  • 北京市地方税务局2015第10号文件
  • 财税库银是什么费用
  • 纳税是什么税
  • 广东房产契税电话查询
  • 近亲房屋赠与免税费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设