Наборы Java обеспечивают LinkedHashMap из поля, которое является подходящим к созданию кэшей. У Вас, вероятно, нет этого в ME Java, но можно захватить исходный код здесь:
http://kickjava.com/src/java/util/LinkedHashMap.java.htm
, Если Вы не можете просто вставка копии, это, смотря на него должно получить Вас, начал реализовывать один для включения в Ваше мобильное приложение. Основная идея состоит в том, чтобы только включать связанный список через элементы карты. Если Вы держите это в курсе каждый раз, когда кто-то действительно помещает или добирается, можно эффективно отследить заказ доступа и использовать порядок.
документы содержат инструкции для создания Кэша MRU путем переопределения removeEldestEntry(Map.Entry)
метод. Все, что действительно необходимо сделать, делают класс, который расширяется LinkedHashMap
, и переопределите метод как так:
private static final int MAX_ENTRIES = 100;
protected boolean removeEldestEntry(Map.Entry eldest) {
return size() > MAX_ENTRIES;
}
существует также конструктор , который позволяет Вам определить, хотите ли Вы, чтобы класс сохранил вещи в порядке вставкой или использованием, таким образом, у Вас есть немного гибкости для Вашей политики замещения, также:
public LinkedHashMap(int initialCapacity,
float loadFactor,
boolean accessOrder)
Передача верный для порядка использования и ложь для порядка вставки.
Чтобы максимизировать окно, учитывая, что ваша цель - приложение для настольного компьютера, я бы использовал стандартные ярлыки, такие как двойной щелчок в строке заголовка. Конечно, есть и элементы управления оформлением окон.
Чтобы начать максимизацию, вы можете использовать свойства экрана:
import QtQuick 2.0
import QtQuick.Window 2.0
Rectangle {
width: Screen.width
height: Screen.height
border.color: "lime"
border.width: 15
color: "transparent"
Text {
anchors.centerIn: parent
text: Screen.width + " x " + Screen.height
font.bold: true
font.pointSize: 80
color: "lime"
smooth: true
}
}
Только Qt5.1 предлагает точный контроль над такими операциями с окнами: Посетите http://qt-project.org/ doc / qt-5.1 / qtquick / qml-qtquick-window2-window.html # visibility-prop
В качестве альтернативы, чтобы максимизировать представление, вы можете экспортировать функцию C ++, которая вызовет QWidget: : showMaximized () для вас, а затем вызовите его из QML.
Просто используйте visibility
:
visibility: "Maximized"
visibility : QWindow::Visibility
состояние занятости окна.
Видимость - это то, должно ли окно появляться в оконной системе как нормальное, свернутое, развернутое, полноэкранное или скрытое .
Установить видимость на AutomaticVisibility означает дать окну видимое состояние по умолчанию, которое может быть полноэкранным или оконным в зависимости от платформы. Однако при чтении свойства видимости вы всегда получите фактическое состояние, а не AutomaticVisibility.
Когда окно невидимо, его видимость скрыта, а настройка видимости скрыта аналогична настройке, видимой ложно.
Также известно возможные значения для этого атрибута.