Я пытаюсь решить, как разработать свое приложение.
У меня есть около 300 экземпляров класса, вот так:
public class ParamValue {
protected String sValue = null;
protected short shValue = 0;
protected short mode = PARAM_VALUE_MODE_UNKNOWN;
/*
* ...
*/
}
У меня есть массив этих экземпляров. Я не могу узнать, действительно ли эти шорты занимают 2 байта или все равно 4 байта?
И мне нужно передать список этих объектов через AIDL как List
. Parcel не может readShort ()
и writeShort ()
, он может работать только с int
. Итак, чтобы использовать шорт и здесь, мне нужно вручную упаковать две мои шорты в одну целую, упаковать ее и затем распаковать обратно. Выглядит слишком навязчиво.
Не могли бы вы сказать мне, сколько байтов занимает shorts, и имеет ли смысл использовать здесь short вместо int?
ОБНОВЛЕНИЕ:
Я обновил свой вопрос для будущих читателей.
Итак, я написал тестовое приложение и понял, что в моем случае нет абсолютно никаких причин использовать short
, потому что оно занимает то же место, что и int
. Но если я определю такой массив коротких замыканий:
protected short[] myValues[2];
, тогда он займет меньше места, чем массив целых чисел:
protected int[] myValues[2];