有人告诉我,直接使用数字而不是静态的最终int字段可以节省内存,这是真的吗?

yyy*_*low 1 java android memory-management constants magic-numbers

在我的Android项目中,有许多constances来表示bundle额外的键,Handler的消息参数,对话框id 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));
Run Code Online (Sandbox Code Playgroud)

处理程序:

switch (msg.arg1) {
case 1:
    break;
case 2:
    break;
case 3:
    break;
}
Run Code Online (Sandbox Code Playgroud)

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

我已经阅读了这个问题,并搜索了很多,但未能找到答案. java:使用最终静态int = 1比仅仅普通1更好吗?

我希望有人能告诉我静态决赛的记忆成本.

抱歉我的英语不好.

MBy*_*ByD 5

您不应该费心将其更改为文字,它将使您的代码更不易读,更难以维护.

从长远来看,你将受益于这种"失去记忆"