java - 有人告诉我,直接使用数字而不是 static final int 字段是节省内存,是这样吗?

标签 java android memory-management constants magic-numbers

在我的 Android 项目中,有很多常量来表示 bundle extra keys、Handler 的消息参数、dialog ids ant 等。 我团队中有人使用一些普通数字来执行此操作,例如:

handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 1, 0));
handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 2, 0));
handler.sendMessage(handler.obtainMessage(MESSAGE_OK, 3, 0));

在处理程序中:

switch (msg.arg1) {
case 1:
    break;
case 2:
    break;
case 3:
    break;
}

他说太多的静态最终常数会消耗大量内存。但我认为他的解决方案使代码难以阅读和重构。

我已经阅读了这个问题并在谷歌上搜索了很多但没有找到答案。 java: is using a final static int = 1 better than just a normal 1?

我希望有人能告诉我静态 final 的内存成本。

抱歉我的英语不好。

最佳答案

你不应该费心把它改成字面量,它会降低你的代码的可读性和可维护性。

从长远来看,您将受益于这种“失忆”

关于java - 有人告诉我,直接使用数字而不是 static final int 字段是节省内存,是这样吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512175/

相关文章:

java - hibernate 和 mysql 带有 create-drop 选项,控制台输出显示错误...但 ddl 执行正常;可能的错误?

Java 垃圾收集策略

javascript - Jquery 页面无法在浏览器中的 android 强制门户登录上运行

c++ - 如何信任声明为 const 的 C++ 函数的行为?

java - 如何维护加密文件的内容类型?

android - 如何使用他/她的号码获取联系人姓名

android - 手动设置选项菜单面板的背景颜色

C 基本内存管理实现

ruby-on-rails - 是否有基准比较django,rails和PHP框架的内存使用情况?

java - Thymeleaf#numbers.formatInteger 奇怪的行为