Máy ảo Java cũng có thể sử dụng chiều rộng int
-chiều rộng cho các trường short
(điều này phụ thuộc vào việc triển khai nội bộ của chúng). Chỉ các mảng (short[]
) là ngoại lệ, trong đó nó luôn được đảm bảo rằng chúng chiếm ít không gian hơn một số int[]
trong nội bộ). Điều gì về Dalvik?Bộ nhớ cần thiết cho các trường 'ngắn' trong Dalvik?
Ví dụ: Tôi có một lớp học có 50 trường thuộc loại short
. Đôi khi trong ứng dụng của tôi, 10000 trong số các lớp này tồn tại. Điều này có nghĩa là các trường short
phải sử dụng 1MB bộ nhớ, nhưng nếu Dalvik sử dụng 4 byte cho giá trị short
nội bộ, thì việc sử dụng bộ nhớ này sẽ là 2MB.
Tôi nên sử dụng bao nhiêu bộ nhớ để sử dụng Dalvik? (Điều này đề cập đến việc sử dụng bộ nhớ trong của nó, và tôi biết thực tế là nó có thể không được phản ánh bằng cách sử dụng bộ nhớ hệ thống, ví dụ như vì Dalvik đã dành một lượng bộ nhớ cao hơn từ hệ thống.)
Đối với người dùng đã chuẩn bị chỉnh sửa (định dạng) cho bài đăng của tôi: cảm ơn. Thật không may, hệ thống đã không cho phép tôi chấp nhận nó, nó nói "chỉnh sửa đã bị từ chối". Vì vậy, theo như tôi có thể nhớ lại, tôi đã cố gắng áp dụng các chỉnh sửa của riêng mình. –
"Các máy ảo Java được biết đến với việc sử dụng chiều rộng cỡ int cho các trường ngắn" bạn có thể sao lưu câu lệnh này với bất kỳ tham chiếu nào không? – kosa
Tôi đã có một chút không chính xác ở đó, vì vậy tôi đã chỉnh sửa nó. Dưới đây là một số chủ đề liên quan đến stackoverflow: http://stackoverflow.com/questions/8855754/android-does-short-take-really-2-bytes http://stackoverflow.com/questions/1904857/which-is-better- to-use-short-or-int –