问题标签 [dalvik]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Is android getting a jit compiler soon?
I've read that there is a jit compiler module for dalvik vm on the works and the results are quite promising. Some people claim an improvement of 100% in terms of execution speed. Does anyone have an idea when it is going to be incorporated in an android release? The amount of RAM on the nexus one (512MB) hints that a jit may be introduced soon. Android 2.5 maybe?
android - Android Java 代码中“instanceof”的影响
关键字是否instanceof
对 Android 平台(尤其是运行 Dalvik VM 的手机)产生了相对较大的影响?
android - 由于处理“java/awt/font/NumericShaper.class”时出现问题,无法生成 apk
由于此错误,我无法为 Dalvik VM 编译我的 Android 项目:
我想我以某种方式搞砸了我的导入,但这个类从未出现在我的导入中。
android - Android 开发中的自动化测试
我有一个带有 JUnit 测试的普通项目,这些测试连接到我的 Android 项目中的类。每次我从我的 Android 项目提交代码时,我都希望我的服务器在我的 testproject 中运行一些 JUnit 测试。
是否有最佳实践来做到这一点?到目前为止,我只在 JUnit 测试和 Android 类被分成 2 个不同的项目时才设法运行测试,因为 JUnit 在 DVM(Dalvik 虚拟机)的模拟器中运行在 JVM 和 Android 上。
java - 在 Android Dalvik VM 中加载 java.util.logging.LogManager 的类初始化问题
我已经在 Android 本机库中进行了更改并安装了一个新的 system.img 文件,但现在在启动时出现了一个不相关的错误。我可以通过吞下错误来克服它,但我想知道是否有人可以解释问题所在。
Logger.java 的 Android 实现声称它正在强制初始化 LogManager,因为它的类初始化代码执行必要的一次性设置。但是这种强制初始化会导致 NoClassDefFoundError。我认为这与 Zygote 尚未预加载的类有关,但对整个类加载器和 VM 业务并不熟悉。
如果有人有一些见解,将不胜感激。谢谢。
android - 原始类型是否在 Android 中被垃圾收集?
我知道这可能是一个愚蠢的问题,但我的背景更多的是 C++ 和管理我自己的内存。
我目前正在减少我可以从我的一个游戏中获得的每一个分配,以尝试减少垃圾收集的频率和感知的“滞后”,所以对于我创建的每个变量都是一个对象(例如字符串和矩形)我确保我事先在构造函数中创建它,而不是在简单的 10 行函数中创建临时变量......(我希望这是有道理的)
无论如何,尽管今晚我工作了一些,但我意识到我对垃圾收集和原始类型(int、boolean、float)的假设可能完全错误,这些原始类型变量是我在一个被调用的 10 行函数中创建的每秒 20 次增加了我的垃圾收集问题?
所以一年前每隔几秒钟我就会在 logcat 中看到一条消息,比如
GC 在 101 毫秒内释放了 4010 个对象 / 484064 个字节
现在我每隔 15-90 秒左右就会看到一条消息……
因此,重新表述我的问题:看到此消息时是否包含原始类型(int、float、boolean 等)?
android - 为什么 Android API 中有这么多浮点数?
Java 中的默认浮点类型是 double。如果您在程序中硬编码类似常量2.5
,Java 会自动将其变为 double。当您对可能受益于更高精度的浮点数或整数进行操作时,该类型将“提升”为双精度。
但在 Android API 中,一切似乎都是从音量到矩形坐标的浮动。RectF
大多数绘图中都有一种称为使用的结构。F代表浮动。对于经常使用升级双打的程序员来说,这真的很痛苦(float)
。难道我们不都同意 Java 代码已经够混乱和冗长了吗?
通常数学协处理器和加速器更喜欢 Java 中的 double,因为它对应于一种内部类型。出于某种原因,Android 的 Dalvik VM 是否有一些更喜欢浮动的东西?还是所有的浮点数只是 API 设计中变态的结果?
java - 在 Android 中使用静态变量
在 android 中,是否推荐使用静态变量?例如,在 Java 中实现单例模式,我通常会这样做:
另外,Android JVM 什么时候会清理它?
android - 由于 Android GC 性能而改变编码风格,还有多远?
我一直听说 Android 应用程序应该尝试限制创建的对象数量,以减少垃圾收集器的工作量。有意义的是,您可能不想在有限的内存占用上创建大量对象来跟踪,例如,在传统的服务器应用程序上,在几秒钟内创建 100,000 个对象并非闻所未闻。
问题是我应该走多远?我已经看到了大量的 Android 应用程序示例,它们依赖于静态状态来“加快速度”。将需要进行垃圾收集的实例数量从几十个增加到几百个真的有那么大的不同吗?我可以想象将我的编码风格更改为现在创建了数十万个对象,就像您在成熟的 Java-EE 服务器上可能拥有的那样,但是依靠一堆静态状态来(据说)减少要被垃圾收集的对象的数量似乎奇怪的。
为了创建高性能的 Android 应用程序,真正需要改变你的编码风格有多少?
android - 将 Dalvik 字节码动态生成到正在运行的 Dalvik/Android 应用程序中
关于在运行时动态生成 Java 字节码并将其加载到正在运行的 Dalvik VM 中,这个问题已被多次询问(并回答),但是有没有办法在运行时将 dex 文件/字节码加载到应用程序中?
谢谢