在我的 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/