我应该避免在 Android 中创建类并在运行时编译它们吗?

问题描述 投票:0回答:1

假设我有一个应用程序,或多或少类似于使用编辑器功能创建的内容的编辑器和执行器。 我考虑了两种方法:我可以开发一种算法和结构来执行我的工作,或者我可以在运行时编写和编译 .java 文件。

为了更好地理解我所说的内容,我将创建一个简化的示例。 第一种情况,我将为用户的每次创建创建多个 SpecialMove 实例:

public class SpecialMove{
private String name;
private Type type;
private int damage;
...
}

在第二种情况下,扩展 SpecialMove 的类将在运行时编写和编译:

    public class SpecialMove{
        protected Type type;
        protected int damage;
        ...
        }

//this class will be written into a separate file and compiled at runtime
    public class FireBall extends SpecialMove{
        protected Type type;
        protected int damage;
        ...
        }

过去我选择使用第二种情况,但它是桌面应用程序。由于我对 Android 不太熟练,我想问你生成 Dalvik 字节代码是否会更棘手和/或效率较低,以及一般来说有什么优点和缺点。

java android compilation dex
1个回答
0
投票

Play 商店禁止运行时代码生成。您可以像 JavaScript 一样在沙箱中下载脚本,但无法在运行时下载或编译本机代码。如果被发现这样做,您的应用程序将被删除。这是 Google 的一项安全政策,旨在降低恶意软件和特洛伊木马的风险。

© www.soinside.com 2019 - 2024. All rights reserved.