Questions tagged «dalvik»

30
外部JAR上的“到Dalvik格式的转换失败,错误1”
在Eclipse中的Android应用程序中,出现以下错误。 异常的 最高级别异常:java.lang.IllegalArgumentException:已添加:Lorg / xmlpull / v1 / XmlPullParser; .... 转换为Dalvik格式失败,错误1 仅当我向项目中添加特定的外部JAR文件时,才会出现此错误。我搜索了很长时间以寻找可能的解决方案,但是所有可能的解决方案都无效。 我什至尝试更改为Android 1.6而不是1.5(我使用的当前版本)。

9
无法执行dex:Eclipse中超出了GC开销限制
当我下载Git项目OsmAnd并进行编译时,Eclipse返回了以下错误: [Dex Loader] Unable to execute dex: GC overhead limit exceeded [OsmAnd] Conversion to Dalvik format failed: Unable to execute dex: GC overhead limit exceeded 谷歌和#2说,我必须改变-Xms40m -Xmx384m在eclipse.ini。 转换为Dalvik格式失败:无法执行dex:Java堆空间。 我清理了项目并重新启动了Eclipse,但是它没有帮助。 我找到了此链接:针对Android开发人员的提示:“转换为Dalvik格式失败:无法执行dex:null” 但是我不知道.jar从项目中更改输入内容。如果有人可以帮助,我可以将项目发送至他们。

3
为什么JVM基于堆栈,而Dalvik VM基于寄存器?
我很好奇,为什么Sun决定使JVM基于堆栈,而Google决定使DalvikVM基于寄存器? 我想JVM不能真正假设目标平台上有一定数量的寄存器可用,因为它应该独立于平台。因此,它只是将寄存器分配等推迟到JIT编译器。(如我错了请纠正我。) 所以Android的人想:“嘿,那效率低下,让我们马上去注册虚拟机吧……”?但是,等等,有多个不同的android设备,Dalvik瞄准了多少个寄存器?Dalvik操作码是否为一定数量的寄存器进行了硬编码? 市场上当前所有的Android设备是否都具有相同数量的寄存器?还是在dex加载期间执行了寄存器重新分配?所有这些如何融合在一起?



7
是否可以在运行时从Android应用程序动态加载库?
有什么方法可以使Android应用程序在运行时下载和使用Java库? 这是一个例子: 想象一下,应用程序需要根据输入值进行一些计算。应用程序要求这些输入值,然后检查所需的Classes或Methods是否可用。 如果没有,它将连接到服务器,下载所需的库,然后在运行时将其加载以使用反射技术调用所需的方法。实现可能会根据各种标准(例如正在下载库的用户)而更改。

3
我可以期望Dalvik和Android工具链有哪些优化?
我正在开发一个高性能的Android应用程序(游戏),尽管我首先尝试编写代码以提高可读性,但我还是想在脑海中默默地了解引擎盖下正在发生的事情。使用C ++,我对编译器将为我做什么和不为我做什么有了很好的直觉。我正在尝试对Java / Android执行相同的操作。 因此,这个问题。我在网络上找不到关于该主题的信息。Java编译器,Dalvik转换器(dx)和/或JITter(在Android 2.2+上)是否会执行以下优化? 方法内联。在什么条件下?private始终可以安全地内联方法;会完成吗?public final方法怎么样?其他类的对象上的方法?static方法?如果编译器可以轻松推断出对象的运行时类型怎么办?我应该声明方法final还是static尽可能声明方法? 常见子表达式消除。例如,如果我访问someObject.someField两次,查找将仅执行一次吗?如果是给吸气剂打电话怎么办?如果我两次使用算术表达式怎么办?只会评估一次吗?如果我使用某个表达式的结果作为for循环的上限,该表达式的值我不知道会改变怎么办? 边界检查数组查找。工具链会在某些情况下(例如原型for循环)消除这种情况吗? 价值内联。是否public static final int总是会内联访问某些内容?即使他们在另一个班上?即使他们在另一个包裹中? 分支预测。这甚至有多大的问题?在典型的Android设备上分支性能是否受到重大影响? 简单的算术。会someInt * 2被取代someInt << 1吗? Etcetera ...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.