Подтвердить что ты не робот

Почему большинство Android-устройств не имеют области подкачки, как это делает обычная ОС?

Поддерживает ли какой-либо Android сегодня область подкачки, которая, как предполагается, повышает производительность?

Каковы соображения, которые заставляют большинство устройств Android отказаться от этой функции?

4b9b3361

Ответ 1

Поддерживает ли Android сегодня подкачку?

Цитата Диана Хакборн:

Чтобы быть более конкретным, он использует подкачку, но не подкачку. То есть он в значительной степени полагается на возможность файлов mmap() и имеет страницу ядра в данных из файла по мере необходимости (и удалять эти страницы, когда это не требуется). Тем не менее, он не использует пространство подкачки для разметки грязных страниц.


С некоторыми небольшими адаптациями область подкачки может работать вместе с убийцей с низкой памятью по умолчанию Android по умолчанию, правильно?

Я, конечно, не предполагал бы этого.

Поддерживает ли какой-либо Android сегодня область подкачки, которая, как предполагается, повышает производительность?

Он не должен "повышать производительность".

какие соображения, которые заставляют Android отказаться от этой идеи?

Во-первых, встроенная вспышка медленная, намного медленнее, чем жесткие диски и SSD, которые вы используете на настольных компьютерах и ноутбуках. И хотя качество флэш-памяти, используемой на устройствах Android сегодня, лучше, чем раньше, но по-прежнему не кричит быстро. Поэтому, например, мы должны проявлять особую осторожность при работе с базами данных ввода/вывода, чтобы использовать транзакции, чтобы ограничить число операций записи на диск.

Во-вторых, исторически, бортовая вспышка была ограничена в пространстве. У нас не было достаточно внутреннего хранилища для наших приложений, не говоря уже о том, чтобы посвятить некоторые для обмена.


Если вы хотите обсудить это дальше, используйте более подходящий форум, например http://android.stackexchange.com, так как ваш вопрос касается только касательно разработки программного обеспечения.

Ответ 2

Android поддерживает обмен... Не забывайте, что это просто Linux с некоторым пользовательским интерфейсом.:)

Однако поддержка зависит от используемого вами ядра. При использовании ядра вы должны знать, поддерживает ли он пространство подкачки или нет.

Если вы хороши в ядрах, возьмите источник, включите поддержку подкачки и скомпилируйте его. Я гарантирую, что это должно быть весело: p

Лично мое ядро ​​поддерживает пространство подкачки, и я использую файл размером 20 МБ для работы в качестве файла подкачки.