Вопрос заканчивается после первой горизонтальной линии, остальные - дополнительная информация.
Вопрос прост, каков размер, который использует ссылка в Androids Java VM?
Под этим я подразумеваю:
Если мы имеем
String str = "Watever";
Мне нужно, что str
принимает, а не "Watever"
. - "Watever"
- это то, что сохраняется в местоположении, на которое указывает указатель (или ссылка), который str
, указывает на.
Кроме того,
Если мы имеем
String str = null;
сколько памяти оно потребляет? Это то же самое, что и другое str
??
теперь, если мы имеем:
Object obj[] = new object[2];
сколько потребляет obj
и сколько потребляет obj[1]
и obj[2]
?
Причиной для квестона является следующее: (в случае, если кто-то может что-то рекомендовать).
Я работаю над приложением, которое управляет многими фотографиями, загружаемыми из Интернета. Я начал хранить эти фотографии на "банке" (который состоит из списка изображений).
При отображении этих изображений в галерее я искал изображение в списке (SLOW), а затем, если тогда изображения не было, я показывал временное загружаемое изображение до загрузки изображения.
Так как это произошло в потоке пользовательского интерфейса, приложение стало очень медленным, поэтому я подумал о реализации хэш-таблицы на банке вместо списка, который у меня был.
Как я уже объяснял ранее, этот поиск происходит в потоке пользовательского интерфейса (и я не могу его изменить). Из-за этого столкновения могут стать проблемой, если они начнут замедлять поток.
Я прочитал: "Чтобы сбалансировать эффективность времени и пространства, хэш-таблица должна быть примерно наполовину заполнена", но это делает столкновения наполовину (не подходит для потока пользовательского интерфейса). Это заставляет меня думать о том, что у вас очень длинная хеш-таблица (по сравнению с количеством сохраненных изображений) и больше памяти (с меньшим количеством свободного VMHeap).
Прежде чем определять размер хеш-таблицы, я хотел бы знать, сколько памяти он будет потреблять, чтобы не вызывать беспокойство.
Я знаю, что размер хеш-таблицы может быть очень мал по сравнению с памятью, которую могут потреблять изображения, но я хотел убедиться, что я не потребляю больше памяти, чем необходимость.
Прежде чем задавать этот вопрос, я искал, между другими местами, в
Насколько велика ссылка на объект в Java и какая именно информация содержит?
(Да, я знаю, что два из этих мест противоречат друг другу, это часть причины вопроса).
Если вы по какой-либо причине ничего не понимаете или хотите получить дополнительную информацию, пожалуйста, оставьте комментарий, я отвечу, как только смогу.
Чем ты много говоришь.