Android: действительно ли short занимает 2 байта?

Я пытаюсь решить, как разработать свое приложение.

У меня есть около 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];
5
задан Dmitry Frank 19 January 2012 в 05:56
поделиться