位置: 编程技术 - 正文

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

  • 所得税费用调增分录
  • 营业执照副本上的二维码扫描不出来
  • 小规模纳税人差额计税情形
  • 个人独资企业生产经营所得汇算清缴时间
  • 换出资产为存货为什么不
  • 长期借款利息计入应付利息吗
  • 企业的哪些活动对企业有长期影响呢
  • 存货损失
  • 分公司成立时的法人是谁
  • 赠送产品能直接用吗
  • 4s店买车首付能付一成吗
  • 无形资产摊销起止时间
  • 以前年度损益所得怎么算
  • 快递公司结算员工作量大不大
  • 原材料验收的重要性
  • 生产过程中产生的废料怎么管理
  • 年终奖和工资个人所得税计算器
  • 商品出口消费税计算方法
  • 苹果手机搜不到airpods
  • 终于找到修改mac的方法了!
  • 计提个人社保会计分录实操
  • iphone怎么格式化掉所有内容和设置
  • 事业单位自筹什么意思
  • linux模块的概念
  • w11系统黑屏
  • PHP:pg_get_notify()的用法_PostgreSQL函数
  • explore.exe
  • php gd
  • 计提坏账准备的方法有哪些
  • phpwhile用法
  • 下一页分页符中间空白页
  • slam方法
  • 企业取得交易性金融资产时
  • 猿创部落是干什么的
  • ps快速选择工具抠图后怎么拉出来
  • java枚举写法
  • 增值税差异调整
  • 公司代买社保怎么收费
  • 织梦网站特有标识
  • 国有土地租赁合同的性质
  • 小规模纳税人转让土地使用权税率
  • 大数据sql教程
  • sqlserver验证方式
  • 年终奖可以不计入社保基数吗
  • 员工自己全额承担社保费用要计提吗
  • 车间设备折旧费计入产品成本吗
  • 固定资产卡片账是什么
  • 主办会计的工作内容和职责
  • 项目清算后未售房产怎么纳税
  • 办理产权证费用明细
  • 尚未使用或出租而待售的商品房需要交房产税吗
  • 如何判定企业库存现金
  • 固定资产未提完折旧
  • 领备用金时会计怎么做分录
  • 购买的材料入库属于什么会计科目
  • 事业单位财务报销制度和流程
  • 教育费附加免征额
  • 个人独资企业核定征收取消了吗
  • 基本户转法人个人账户如何做账
  • 未按照规定编制应急预案的,责令限期改正,可以处罚款
  • 行权期行权条件成就什么意思
  • 预收账款为什么不是货币性项目
  • 什么是建账?建账的基本程序是什么?
  • sql server dbcc
  • linux引导和启动
  • surveyor.exe - surveyor是什么进程
  • linux vmware命令行
  • Python生成随机数
  • angular基础
  • jquery设置图片路径
  • jquery mobile demo
  • 下载随手笔记
  • 网页加载多个js文件冲突
  • python pil gif
  • js中eval函数是干嘛的
  • 北京天然气收费标准2024年
  • 本年累计实际已预缴的所得税额怎么填
  • 医院是自给自足吗
  • 浙江省工伤停工留薪期分类目录
  • 地税局属于省直单位吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设