位置: 编程技术 - 正文

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

  • 出口抵减内销产品应纳税额为什么在借方
  • 进口烟丝交多少税
  • 建筑工程机械服务有限公司企业
  • 结转应交增值税到未交增值税
  • 更改开票信息需要多久
  • 预缴增值税项目编号填写错误怎么办
  • 财务月末结转成什么账户
  • 收回公司经营权需要做什么
  • 外国专家工资个税
  • 个人转让著作权所得免征个人所得税吗
  • 工资扣保险怎么做凭证
  • 土地增值税计算表
  • 职工福利费计算公式
  • sd标准差是什么意思
  • 1697507802
  • 技术服务费成本票是什么
  • 客户支付货款时扣除了手续费
  • 路由器突然不能上网了显示红灯
  • 苹果电脑怎么升级系统到最新版本
  • windows7远程桌面连接在哪里
  • 财务红冲是什么意思
  • win10电脑屏幕颜色变了怎么调到原来的
  • php循环结构有哪几种语句
  • vue前端代码实例
  • PHP:mb_http_output()的用法_mbstring函数
  • 建筑业成本核算表格百度网盘
  • php响应时间
  • element-ui table使用type=‘selection‘复选框全禁用-全选禁用
  • 发票系统技术维护费
  • 带息应收票据会计处理
  • php数组分为哪两种
  • js怎么实现倒计时
  • opencv图像识别特定形状
  • linux symbolic link
  • php 循环
  • 关税计入纳税总额么
  • 金融机构拆出资金的最长期限
  • 专项应付款怎么转固定资产
  • 进项转出分录处理
  • 备抵法会计处理
  • 电子口岸报关单在哪下载
  • 小规模的企业所得税怎么计算
  • 交易性金融资产的账务处理
  • python合并集合
  • 已抵扣增值税进项税额
  • 变电所用电
  • 购货销售折让会计分录
  • 厂区道路折旧年限最新规定
  • 营改增后建筑企业如何正确开具发票
  • 记账凭证核算处理方法
  • 工程的挂靠取得收入怎么做账?
  • 代理运费增值税税率
  • 印花税每个月都报吗
  • 公司货物发票进项高开还是低开
  • 进项大于销项的原因
  • 开办费计入期间费用明细表
  • 固定资产不能使用了怎么处理
  • 汇算清缴产生的企业所得税如何做账
  • 城镇土地使用税减免税政策
  • 水利建设基金要预缴吗
  • 把excel表格里的文字复制到word
  • mysql中mysqldump
  • win7系统重启后多了一个安全启动用户
  • win10系统计算器字体大小怎么调
  • 在局域网内,什么可进行网络资料的共享
  • ubuntu怎么禁用nouveau
  • win7系统电脑打开的软件闪退怎么办
  • win10电脑磁盘损坏
  • linux用什么版本
  • unity项目怎么运行
  • android studio string函数
  • css怎么画图
  • 新版unity
  • python event.pos
  • easyui 弹框
  • json初学
  • 事件委托jq
  • 浙江银行上班时间查询
  • 企业的捐赠支出在哪里能看到
  • 社会保险登记表下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设