我想做出決定如何設計我的應用程序。Android:真的需要2個字節嗎?
我一樣有這個類的約300實例:
public class ParamValue {
protected String sValue = null;
protected short shValue = 0;
protected short mode = PARAM_VALUE_MODE_UNKNOWN;
/*
* ...
*/
}
我的這些實例的數組。我無法找到這些短褲真的需要2個字節,否則他們拿4個字節?
而且我需要通過AIDL傳遞這些對象的列表作爲List<Parcelable>
。包裹不能readShort()
和writeShort()
,它只能與int
一起使用。所以,爲了在這裏使用short,我必須手動將兩個短褲放入一個int中,然後將其打包。看起來太突兀。
請問你能告訴我短褲需要多少個字節,在這裏使用short而不是int是否合理?
UPDATE:
我更新了我的問題,爲未來的讀者。
所以,我寫了一個測試應用程序,我發現在我的情況下絕對沒有理由使用short
,因爲它需要與int
相同的空間。但是,如果我定義那樣的短褲的數組:
然後它需要較少的空間比整數的數組:
protected int[] myValues[2];
所以,似乎沒有理由使用短,如果我想實現更少的內存使用量? – 2012-01-13 19:10:28
我會編寫一個測試程序來創建大量對象,並使用'Runtime.freeMemory()'前後測量空閒內存,並在實際的生產JVM上運行它。這樣做既可以定義對象,也可以查看是否可以檢測到不同。有可能沒有什麼區別,但是這會讓你看清楚。 – 2012-01-13 19:13:34
我不認爲這取決於實現,至少在數組的情況下,如果它將支持JNI。 – 2012-01-13 19:45:06