Android libdvm.so 与 libart.so

2023-10-26

Android libdvm.so 与 libart.so
系统升级到5.1之后,发现system/lib/下面没有libdvm.so了,只剩下了libart.so。对于libart模式,从4.4就在Developer optins里面就可以手动选择,到5.1算是转正了。
1,什么是libdvm,libart。
Android KK里引入了ART虚拟机作为Dalvik虚拟机的替代,其主要目的是把Bytecode的翻译优化从运行时提前到安装时, 以空间换时间,从而达到更流畅的用户体验。目前,KK中Dalvik仍是默认的虚拟机,但用户可以在Developer Option中切换到ART虚拟机。坊间传闻在下一版可能会转正。Dalvik和ART的实现分别位于libdvm.so和libart.so这两个库。两个可以同时build也可以只build一个,通过Makefile中的变量PRODUCT_RUNTIMES来控制(https://source.android.com/devices/tech/dalvik/art.html)。ART本质和Dalvik是一样的,是将Java的Bytecode翻译成Native code。它的主要的实现代码在AOSP的art目录下,另外在libcore/libart/下还有一部分Java层的实现。
2,dex翻译成机器码,在libdvm模式下和Libart模式下是有区别的
framework/native/cmds/installd/commands.c
涉及到的命令有dex2oat和dexopt
libdvm是运行时翻译;
libart是在install的时候翻译。
3,这些实现的逻辑在zygote的创建有关。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android libdvm.so 与 libart.so 的相关文章

  • 使用 Hilt 提供 Activity 实例

    我该如何翻译这样的内容 Module abstract class BaseActivityModule a Binds abstract fun provideActivity activity A AppCompatActivity c
  • 如何在 AndroidEnvironment 构建文件的环境变量中指定下载目录的路径

    使用 Visual Studio 2022 17 2 0 Preview 1 0 我目前正在尝试创建一个 MAUI 应用程序 该应用程序已经在 Windows 上运行良好 也可以在 Android 下运行 该应用程序使用一个库 SaxonC
  • 在 Android 中不断更新新的 JSON

    我有不断变化的 JSON 我需要在 android 中不断更新更改 我该怎么做 我的Android代码是 r getImage JSONObject data new JSONObject r String a data getString
  • Android - 同一行中的两个按钮填充整个宽度

    我在定义相对布局时遇到了一些问题 我有一个带有滚动的列表视图 并且两个按钮始终在列表视图的底部可见 我只是希望我的两个按钮有 50 的宽度 填充该线 这是我的代码
  • 使用 BroadcastListener 通话结束后从 Calllog 中获取通话持续时间

    我需要尝试在通话结束后获取通话持续时间 我有一个广播侦听器 它使用电话管理器跟踪电话状态 即 摘机 空闲 等 使用此接收器 我可以了解拨出呼叫何时完成 通话完成后 我启动一项服务来获取上次通话的通话持续时间 但是 我得到的值是前一个调用的值
  • 动态添加导航抽屉中的项目

    我创建了抽屉 但是我想动态设置抽屉的项目列表 意味着从数据库获取数据并设置为抽屉列表 是否可以 是的 比如何 我也知道静态抽屉 尝试这个 final Menu menu navigationView getMenu for int i 1
  • 当应用程序崩溃时,Android Studio ADB 会清除 logcat 文件!哦美伊

    刚刚升级了最新的Android Studio 现在 当应用程序崩溃时 日志文件 adb logcat 就会消失 它不仅停止记录整个日志似乎突然被删除了 对于调试来说不太酷 我需要设置日志缓存大小或其他什么吗 还注意到调试器需要很长时间来收集
  • 如何在android中播放音频文件

    我的 Android 手机中有一个 mp3 文件 让它在我的 SD 卡中的某个位置成为 xyz mp3 如何通过我的应用程序播放它 只需您就可以使用MediaPlayer并播放音频文件 查看这个很好的例子 http www helloand
  • android setOnLongClickListner 不适用于 onTouch 事件

    我有一个可拖动和缩放的图像视图 但现在我还需要将 setOnLongClickListner 放在我的图像视图上 我已经这样做了 但它不起作用 但是当我禁用 ontouch 事件时它开始工作 谁能告诉我如何解决这个问题 这是我的代码 ima
  • 从片段调用片段

    我想通过单击当前片段中的按钮来调用当前片段中的另一个片段 这是我的主要活动 import android app FragmentManager import android os Bundle import android support
  • 尝试将 AndroidX 迁移到 Android AppCompat

    从 AndroidX 迁移到 Appcompat 时出现错误 这是日志构建 Manifest merger failed Attribute application appComponentFactory value android sup
  • Eclipse 上的 Android 开发:始终打开新的模拟器

    这应该是一个非常简单的问题 我正在做 Hello Android 教程 我能够将我的应用程序安装到模拟器中 然而 当我再次运行 没有任何更改 时 Eclipse 环境坚持启动一个新的模拟器 而不是连接到现有的模拟器 我该如何解决这个问题 我
  • 了解 Android 上的默认键盘

    我想知道 Android 中用户选择的默认键盘 我知道我可以使用以下命令访问启用的输入法列表InputMethodManager 但我想知道用户当前使用的是哪一个 到目前为止 我已经尝试获取当前的输入法子类型 InputMethodMana
  • 以编程方式将图像添加到RelativeLayout

    我想通过代码添加各种相对布局到线性布局 每个相对布局由以下部分组成 左侧的图像视图 右侧旁边的文本视图 正好在中间 以及右侧的另一个图像 我必须使用从数据库读取的数据来添加它们 它必须使用relativelayout 因为我想在图像上使用一
  • 在处理器生成的类中使用库

    我正在开发一个库来使用注释和处理器生成类 生成的类应该使用Gson来自谷歌的图书馆 我的问题是 我应该在哪里添加 Gson 依赖项 我目前正在将其添加到处理器 build gradle 中 但是当生成类时 找不到 Gson Android
  • 在Android中获取Fragment中的应用程序上下文?

    我已通过在一个活动中使用应用程序上下文将一些数据存储到全局类中 稍后我必须在片段中检索这些值 我已经做了类似的事情来存储在全局类中 AndroidGlobalClass AGC AndroidGlobalClass getApplicati
  • 如何在 Google Play 商店发布之前测试 google play Referrer api?

    Google 于 2017 年 11 月 20 日宣布推出 Google Play Referrer API 作为跟踪应用安装的新方法 我的问题是 在我的应用程序在 Google Play 上发布之前 有什么方法可以测试该功能吗 您无需上传
  • 各种 Android 设备的应用程序背景大小

    我正在为所有 Android 设备的应用程序设计背景 我在想图像的大小 以像素为单位 是多少 从开发者网站我发现了以下等式 px dp dpi 160 那么 px 取决于两个变量 首先 dp 我们有 xlarge screens are a
  • Android 有类似 mechanize 这样的工具吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在创建一个 Android 应用程序 它必须在后台进行一些网上冲浪 以便为用户提供服务 我必须连接
  • 如何在Android模拟器中找到数据库文件的路径?

    我正在 Android 模拟器中执行一些 sqlite 查询 我想知道数据库文件存储在哪个路径 请给我一些如何找到它的想法 如果你能给我一些代码片段 乌尔 s 库马兰 数据库通常存储在 data data your applications

随机推荐

  • 知识库-kafka shell脚本用法

    脚本名称 用途描述 connect distributed sh 连接kafka集群模式 connect standalone sh 连接kafka单机模式 kafka acls sh todo kafka broker api versi
  • 一篇搞定dockerfile定制镜像过程

    一 定制镜像的两种方法 1 docker commit 通过已有容器创建镜像 提交容器快照作为镜像 不推荐 2 docker build 就是本文着重讲的dockerfile创建镜像方式 推荐 docker commit无法还原镜像制作过程
  • 【Linux学习】epoll详解

    什么是epoll epoll是什么 按照man手册的说法 是为处理大批量句柄而作了改进的poll 当然 这不是2 6内核才有的 它是在2 5 44内核中被引进的 epoll 4 is a new API introduced in Linu
  • centos7运行vue项目问题汇总

    一 node踩坑之This is probably not a problem with npm There is likely additional logging output above 错误 解决步骤 1 可能由于种种版本更新的原因
  • windbg 常用命令详解

    一 1 address eax 查看对应内存页的属性 2 vertarget 显示当前进程的大致信息 3 peb 显示process Environment Block 4 lmvm 可以查看任意一个dll的详细信息 例如 我们查看cyus
  • java中List按照指定字段排序工具类

    文章标题 java中List按照指定字段排序工具类 文章地址 http blog csdn net 5iasp article details 17717179 包括如下几个类 1 实体类 package com newyear wish
  • 【C语言】螺旋数组

    螺旋数组的打印 程序C语言代码 更改宏定义的数值即可实现螺旋数组行列的变化 include stdio h define ROW 5 宏定义行 define COL 5 宏定义列 void main int arr ROW COL 0 in
  • Python Decorators(二):Decorator参数

    Python Decorators II Decorator Arguments October 19 2008 本文是Python 3 Patterns Idioms Python3之模式和用法 一书的章节节选第二部分 点击这里阅读第一部
  • Kotlin数据类型(一:数据类型)

    一 Boolean Boolean类型有两种类型的 true flase val a Boolean true val b Boolean false 二 Number数据类型 package net println kotlin auth
  • 强化学习 DQN 速成

    强化学习 DQN 速成 这是对 深度强化学习 王树森 张志华 中 DQN 部分的缩写以及部分内容的个人解读 书中的 DQN 是一个相对终极版本的存在 相信体量会比网络上其他资料要大很多 基本概念 我们通过贪吃蛇来引入几个基本概念 符号 中文
  • Flink Windows(窗口)详解

    Windows 窗口 Windows是流计算的核心 Windows将流分成有限大小的 buckets 我们可以在其上应用聚合计算 ProcessWindowFunction ReduceFunction AggregateFunction或
  • MySQL redo log和undo log

    Redo Log REDO LOG称为重做日志 当MySQL服务器意外崩溃或者宕机后 保证已经提交的事务持久化到磁盘中 持久性 InnoDB是以页为单位去操作记录的 增删改查都会加载整个页到buffer pool中 磁盘 gt 内存 事务中
  • Matlab矩阵处理

    一 通用的特殊矩阵 zero m zeros m n zero size A 产生全为零的矩阵 格式下同 ones 产生全为一的矩度阵 eye 产生单位矩阵 rand 产生在 0 1 区间均匀分布的矩阵 randn 产生均值为0 方差为1的
  • C计数问题---2023河南萌新联赛第(三)场:郑州大学

    解析 n 可以分成两个数 记录每个数的因子对数 乘起来即可 注意当因子相同时 只 1 include
  • Java文件类型校验之Apache Tika

    一 背景 判断文件类型一般可采用两种方式 1 后缀名判断 简单易操作 但无法准确判断类型 2 文件头信息判断 通常可以判断文件类型 但有些文件类型无法判断 如word和excel头信息的前几个字节是一样的 无法判断 使用apache tik
  • flink watermark 生成机制与总结

    flink watermark 生成机制与总结 watermark 介绍 watermark生成方式 watermark 的生成值算法策略 watermark策略设置代码 watermark源码分析 watermark源码调用流程debug
  • 你知道几种延迟队列的实现方案?

    在开发中 往往会遇到一些关于延时任务的需求 例如 生成订单30分钟未支付 则自动取消 生成订单60秒后 给用户发短信 对上述的任务 我们给一个专业的名字来形容 那就是延时任务 那么这里就会产生一个问题 这个延时任务和定时任务的区别究竟在哪里
  • Reid训练代码之数据集处理

    本篇文章是对yolov5 reid这篇文章训练部分的详解 该项目目录为 config reid输入大小 数据集名称 损失函数等配置 configs 训练时期超参数定义 data 存储数据集和数据处理等代码 以及yolov5类别名称等 eng
  • 怎样更改itunes备份位置_什么是iTunes备份文件?

    由于它是由Apple创建的 因此iTunes改变了用户组织和播放音乐和视频的方式 iTunes已经允许数百万用户通过iTunes Store下载他们喜爱的曲目 歌曲和视频 值得庆幸的是 iTunes拥有一个先进的备份系统 能够备份和恢复Ip
  • Android libdvm.so 与 libart.so

    Android libdvm so 与 libart so 系统升级到5 1之后 发现system lib 下面没有libdvm so了 只剩下了libart so 对于libart模式 从4 4就在Developer optins里面就可