- Чистим Android, наращиваем производительность
- Избавляемся от приложений
- Чистим кеш
- Проверьте файловую систему
- Обращаемся за помощью
- Основы безопасности операционной системы Android. Native user space, ч.1
- Вступление
- Список статей
- Что подразумевается под Native user space
- Файловая система Android
- Процесс загрузки Android
- Заключение
- Ссылки
Чистим Android, наращиваем производительность
Все вещи, которые вас окружают, прослужат дольше и принесут вам больше радости, если вы будете к ним внимательны и окажете должный уход. Автолюбители знают об этом не понаслышке. Уход нужен и смартфону, и его операционной системе, благо в последнем случае это отнимает совсем немного времени и сил. Сегодня мы превратимся в Люков Скайуокеров и приступим к чистке «дроидов», чтобы потом они не подвели нас в долгом путешествии по галактике.
Избавляемся от приложений
Это первое, с чего следует начать. Может показаться, что приложения, которые вы не используете, могут спокойно храниться, ждать своего часа и кушать не просить. Однако раз мы принялись наводить порядок, от них надо избавиться. Они занимают память, загружают ваш смартфон своими обновлениями и уведомлениями. Если какое-то из них вам когда-то понадобится, вы можете загрузить его снова.
Чистим кеш
Этот совет часто дают при возникновении любых проблем с софтом. Иногда кеш полезно чистить просто потому, что он занимает много места. Все нужные шаги описаны в посвященной этому статье. Просто перейдите по ссылке.
Проверьте файловую систему
Если в вашем смартфоне не установлен файловый менеджер, вы можете выбрать любой на свой вкус. Например, ES Проводник очень неплох. Проверьте свою файловую систему. Наверняка в ней завалялись данные, которые давным-давно не нужны вам.
Обращаемся за помощью
Как бы быстро вы ни махали метлой, сосед с пылесосом, вероятно, уже попивает коктейль в абсолютной чистоте. Никогда не помешает обратиться за помощью к проверенным средствам. Абы что качать не стоит, а вот CCleaner сможет сослужить добрую службу. Запустите приложение, и оно почистит много ненужного — что-то, что вы сами никогда бы не нашли.
По материалам AndroidPit
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Большинство проблем, с которыми сталкиваются пользователи смартфонов вне зависимости от их производителя, носят программный характер. Неполадки в работе облачных сервисов, низкая автономность, перебои в работе Wi-Fi или LTE – всё это следствия недоработок в обновлениях, которые получает Android или системные приложения. Поэтому по большому счёту ничего страшного в них нет, поскольку практически всё подлежит исправлению. Но бывают и такие проблемы, которые повреждают устройства на физическом уровне. Так, как в случае с зелёными экранами.
Мы часто рассуждаем не только об удобстве мессенджеров, но и о тех побочных эффектах, которые появляются из-за них. Сегодня речь пойдет про игнор в переписке: уверен, каждый с этим сталкивается хотя бы раз в год. Собеседник может читать ваши сообщения и оставлять их без ответа, находясь онлайн. Причин для этого много, разберемся в самых основных, чтобы не уходить в дебри. Кто прав, кто виноват и стоит ли так делать — устраивайтесь поудобнее!
Еще совсем недавно Microsoft с надеждой на светлое будущее представляла публике мощную Lumia 950 XL с отличной камерой, инновационным Windows Hello и технологией Continuum, позволяющей подключить Lumia к монитору через специальный док, чтобы пользоваться как настольным ПК. Всё это в 2015 вызывало восторг. Может это и не было практично в повседневной жизни, но Windows Phone до конца боролся со своими демонами, в итоге избавившись от «Phone» в названии и объединив операционную систему в единую Windows 10.
На самом деле приложения которые чистят кэш не улучшают производительность. Приложения исполюзуют кэш для быстрого открытия. Чтоб не загружать все с начала. Удаляя только заставляет их заного загружаться в память. Даже если приложения не открывалось сразу после чистки. Тем самым вы только ухудшаете производительность. Есть настоящие способы ускорить девайс, о которых автор не написал. Погуглить повозиться пол часа и любой поймет как это делать.
также я не советую кому либо возиться в файловой системе тем более в таких приложениях как Root Explorer. Если вы не разбираетесь что к чему. Тормозит ужасно значит пора менять девайс.
Или сбросить к заводским настройкам и пересмотреть список действительно нужных приложений
Если я и пользоюсь Clean Master, то только так:
Скачал, установил, заморозил. Решил по чистить — разморозил, почистил, снова заморозил.
А вообще, у кого есть root права — SD Maid куда более хороший вариант
Я бы посоветовал Greenify и тому подобные для тех у кого есть рут. Он ставит не использоваемые апликации в Hibernation. И они остаются доступными но не работают в background как это делают большинство приложений. Watsapp между прочим заплатим их много бананов чтоб его в ключали в Blacklist приложения чтоб он мог спокойно работать за кулисами и собирать данные.
По мойму на вашем сайте писалось статья о безполезности таких программ
Каких? CCleaner? Эта программа может почистить то, о чем вы давно забыли, и это хорошо. По поводу статьи — была такая, я ее писал. Там немного о других программах, но со схожим смыслом.
ES Проводник. Господи, зачем все советуют этот шлак? Убогий, перегруженный интерфейс. Некрасивый. Фу. Только Total Commander. Только простота, функциональность и красота.
Действительно, Эрнест, ваша статья поверхностна и не дает полного представления по проблеме кэша. Поэтому несмотря на рациональное зерно, которое есть в статье, она вводит в заблуждение.
Кэш нужно стирать, но только в определенных случаях.
1) когда не хватает места на диске телефона а суммарный кэш очень большой и ЭТО И ЕСТЬ ПРИЧИНА МЕДЛЕННОЙ РАБОТЫ МОБИЛЫ. Но и в этом случае можно и нужно посмотреть в настройках какие приложения нарабатывают большой кэш и решать что этим делать. Если приложения используется часто, то убивать кэш — замедлять включение этого приложения. Если прога не используется или используется редко-см. Пункт 2.
2) или когда хотите (а) отключить (б) стереть приложение или (в) приложение используется редко, тогда уж точно нужно стирать кэш и замораживать приложение (а) и (б). Во всех других случаях стирание кэша только замедляет работу телефонов.
А по поводу проводников неплохо было бы сделать обзор здесь (или почитать в 4PDA, например)
Стоит отметить, что удаление кеша замедляет лишь первые запуски приложений.
Это и понятно: ведь проги без кеша работать не могут, после стирания кеша им берёт время образовать кеш (в начале меньший, чем был до стирания, но очень скоро достигает своей прежней величины). Что -да- нужно удалять (особенно, если мало места) установочные файлы после установки проги и всяческие остатки после удаления проги. Андроид автоматом подчищает но не всё, не полностью и не от всех приложений.
Источник
Основы безопасности операционной системы Android. Native user space, ч.1
Вступление
В этой статье я попробую рассмотреть безопасность чуть-чуть повыше ядра, а именно: как работает безопасность в Native user space. Мы коснемся темы процесса загрузки операционной системы и рассмотрим структуру файловой системы Android. Как я уже говорил, я не очень силен в Linux, поэтому если заметите неточности, то исправляйте — меня научите и статью улучшите. Так как эта тема довольно обширная, я решил разбить её на две части. В первой части мы рассмотрим процесс загрузки операционной системы и особенности файловой системы. Всем кому интересно, добро пожаловать!
Список статей
Что подразумевается под Native user space
Под Native user space подразумеваются все компоненты пространства пользователя, которые выполняются вне Dalvik Virtual Machine, и которые не являются частью Linux kernel.
Файловая система Android
Для начала давайте рассмотрим структуру файловой системы Android. Хотя Android и базируется на Linux kernel, привычную нашему глазу структуру файловой системы мы здесь не увидим. Давайте запустим эмулятор и посмотрим, что у нас есть. Для этого выполним комманду:
В моем терминале для эмулятора на Android 4.2 я вижу следующий результат:
Я отмечу здесь только главные директории и те, которые нам пригодятся в будущем. В Интернете можно найти описание и предназаначение других директорий. Можно заметить, что некоторые директории такие же, как и в Linux, например, /dev, /proc, /sys, /mnt, /etc И их предназначение в основном такое же, как и в Linux. Кстати, отметьте, что мы не видим /bin и /lib директорий. Где они скрылись, я расскажу чуть позже.
C другой стороны можно заметить директории, которых в Linux вообще нет. Среди них нас интересуют /data, /system, /cache, /init, /init.rc Давайте рассмотрим их назначение поподробнее.
/system Это главная директория, где хранятся неизменяемые компоненты Android системы. Если проводить аналогию, то эта папка похожа на папку C:\windows\, доступную только для чтения. Т.е. изменять данные в этой директории мы не можем. Как раз здесь можно найти директории /bin и /lib, где хранятся различные исполняемые файлы и shared libraries. Кроме того, здесь же лежат системные приложения, которые встроены в операционку и которые, по умолчанию, нельзя удалить. Содержимое этой директории формируется во время компиляции операционной системы.
/data Т.к. /system у нас доступна только для чтения, то должна быть директория где хранятся изменяемые данные. /data как раз ею и является. Например, в эту директорию в /data/app сохраняются apk файлы устанавливаемых приложений, а в /data/data хранятся их данные (эту директорию мы подробно рассматривали в прошлой статье).
/cache Это просто временное хранилище. Также в эту директорию сохраняются, а потом из неё запускаются системные обновления.
Чтобы понять, что такое /init файл и для чего нужны непонятные файлы с расширением *.rc, рассмотрим процесс загрузки системы.
Процесс загрузки Android
Давайте рассмотрим несколько шагов процесса загрузки операционной системы Android. Эта картинка взята из книги «Embedded Android», там же можно найти и более детальное описание. Хотя в целом я и понимаю процесс, но для меня это больше магия 🙂
CPU. Когда вы нажимаете на кнопку включения, на процессор вашего устройства начинает подаваться напряжение. Так как до этого момента процессор был выключен, и так как он не способен сохранять свое состояние без подачи напряжения, то сразу после старта он находится в некотором неинициализированном состоянии. В данном случае процессор считывает из своего специального регистра некоторый жестко зашитый адрес и начинает выполнять инструкции начиная с него. Чаще всего, этот адрес указывает на чип, в который зашит bootloader (загрузчик).
Bootloader. Bootloader инициализирует RAM и загружает в неё Linux kernel. Кроме того Bootloader создает RAMdisk.
Linux kernel. Ядро инициализирует различные подсистемы, встроенные драйвера и монтирует root filesystem (корневую файловую систему). После этого ядро может запускать первую программу.
На этом магия заканчивается и дальше всё становится более-менее понятно.
Первой программой в случае Android является init. Исполняемый файл находится в корневой директории (/init). Именно эту программу стартует ядро после своей загрузки. Её исходники находятся в папке system/core/init/ Давайте в них слегка покопаемся. Нас интересует system/core/init/init.c:
Вначале мы создаем и монтируем некоторые необходимые для работы директории, а потом парсим файл /init.rc и выполняем то, что распарсили. Формат /init.rc файла очень хорошо описан в readme, там же можно найти и пример. Если кратко, то этот файл представляет собой набор actions (секций — именнованная последовательность комманд). Каждая последовательность команд срабатывает по определенному trigger (триггеру). Например, следующая последовательно — это action, в которой trigger — это fs, а последовательность команд — это набор mount команд:
Исходный файл /init.rc находится в system/core/rootdir/init.rc Давайте рассмотрим некоторые основные его части, хотя я вам очень советую просмотреть его полность. После этого многие вещи вам должны стать понятны. Итак, начинается наш файл следующими строками:
Они означают, что кроме init.rc файла нужно также импортировать настройки из файлов init.usb.rc, init.trace.rc и из файла с непонятным именем init.$
После этого происходит инициализация переменных, необходимых для работы устройства. Если вас заинтересует эта тема, то вы легко найдете информацию о той или иной комманде. Давайте подробно рассмотрим следующий блок (который я уже приводил в этой статье):
MTD — Memory Technology Devices. Если в общих чертах, то MTD — это специальный чип с энергонезависимой (т.е. данные на этом чипе сохраняются после перезагрузки или выключения) flash-памятью (типа NOR или NAND), на который сохраняются образы дисков. В этой статье более подробно рассказывается об этом типе устройств, а также об ограничениях. Специально для этих разновидностей flash-памяти были разработаны специальные файловые системы, например, YAFFS. Одно из самых важных ограничений этих типов памяти заключается в том, что для того чтобы записать данные в сектор, куда уже записаны какие-то данные, вам надо полностью сначала стереть весь сектор. Поэтому производители стали переходить на новый тип блочной flash-памяти (eMMC), на которые можно поставить обычную ext4 файловую систему и избавиться от указанного ограничения. Т.к. я показываю пример init.rc файла для эмулятора, где вся работа эмулируется, то в нем по умолчанию используется файловая система YAFFS2 (думаю, что это пережитки прошлого, т.к. YAFFS2 использовалась для всех устройств до Android 2.2). В реальном устройстве (это как раз один из примеров, когда необходимо использовать init.rc файл для определенного железа) эти комманды будут перезаписаны. Например, в случае устройства herring (Google Nexus S), в файле init.herring.rc эта секция выглядит следующим образом:
Где fstab.herring — это файл, содержимое которого выглядит следующим образом:
Как вы могли заметить, /system, /data, /cache — это просто mounting points (точки монтирования файловой системы), которые указывают либо на MTD устройства (в случае эмулятора), либо на блочные устройства (в случае настоящего устройства), куда записаны соответствующие дисковые образы (system.img, userdata.img и cache.img). Я не уверен, но думаю, что внутри смартфона находится один единственный чип с flash-памятью, разделенный на partitions (тома), в каждый из которых записан соответствующий образ. Этот чип с flash-памятью — то, что мы знаем под именем Internal storage (внутренняя память), объем которой — один из основных параметров смартфона.
Следует заметить, что /system смонтирован read-only (только для чтения). Это означает, что содержимое данного раздела не изменяется в процессе работы устройства, а только когда вы, например, обновляете систему на вашем устройстве (используя системные обновления).
Продолжим рассматривать наш init.rc. По триггеру post-fs-data формируется базовая структура файловой системы /data раздела. Там, в общем всё понятно — набор mkdir, chown, chmod команд.
Далее init.rc запускает несколько демонов. Если вернуться к рисунку в начале статьи, то они перечислены в блоке Native daemons. На этом мы пока остановимся. Как вы могли заметить из рисунка, я не полностью рассмотрел процесс загрузки операционной системы. Некоторые непокрытые этапы я рассмотрю в следующих статья.
Заключение
В следующей части я расскажу, откуда берутся образы system.img, userdata.img и cache.img и рассмотрю безопасность на уровне Native user space. Как всегда приветствуются исправления, дополнения, а так же предложения, о чем написать. И хотя у меня уже есть некоторый план, о чем писать в следующих статья, я готов его подкорректировать.
Ссылки
Update
- Комментарий от пользователя bmx666 про различные варианты размещения загузчика на MTD устройствах.
- Комментарий от пользователя SamOwaR про инициализацию CPU на разных SoC
Источник