gpt4 book ai didi

android - SQLiteOpenHelper android中变量的可见性

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:15 25 4
gpt4 key购买 nike

为什么在 SQLiteOpenHelper 类变量的所有演示和教程中总是:public static final

看看:

    public static final String ORDER_ID = "order_id";
public static final String ORDER_LOGIN_NAME = "login_name";
public static final String ORDER_RESTO_U_NAME = "resto_uniqe_name";

我的问题是:我正在制作一个应用程序,但它的数据库太大了。所以,我将不得不制作至少 60-70 个此类变量。不会影响应用性能吗?因为这些是静态变量。

任何帮助将不胜感激....

最佳答案

好吧,它们是public还是private还是package-protected取决于你的需要,但是final static是根据 Android 指南声明常量的好方法,请在此处查看解释:http://developer.android.com/training/articles/perf-tips.html#UseFinal

考虑类顶部的以下声明:

static int intVal = 42;
static String strVal = "Hello, world!";

编译器生成一个名为 的类初始化方法,该方法在首次使用该类时执行。该方法将值 42 存储到 intVal 中,并从类文件字符串常量表中提取 strVal 的引用。稍后引用这些值时,将通过字段查找访问它们。

我们可以用“final”关键字来改善事情:

static final int intVal = 42;
static final String strVal = "Hello, world!";

该类不再需要方法,因为常量进入 dex 文件中的静态字段初始值设定项。引用 intVal 的代码将直接使用整数值 42,而访问 strVal 将使用相对便宜的“字符串常量”指令而不是字段查找。

关于android - SQLiteOpenHelper android中变量的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22554733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com