Як працює багатозадачність в Android

Багатозадачність в Android – тема досить специфічна, звичайному користувачеві знати все її тонкощі не обов’язково. Розробникам ПЗ для Android бажано, звичайно, розібратися з багатозадачністю, але ця стаття, на жаль, не для розробників, а для простих користувачів. Тому ми поговоримо про багатозадачності з точки зору звичайного користувача.
У додатків є кілька компонентів, нас найбільше цікавлять Activities (діяльність) і Services (послуги). Діяльність (Activity) – це те, що користувач бачить на екрані, т. Е. Інтерфейс програми. Саме діяльності і є основними пожирателями оперативної пам’яті пристрою. Діяльність може перебувати в трьох станах: активна (мабуть на екрані, користувач взаємодіє з нею), припинена (пауза) і зупинена (додаток повністю або частково закрито іншим вікном і неактивно).

Система Android автоматично звільняє оперативну пам’ять при досягненні мінімального порогу вільної пам’яті. В першу чергу закриваються діяльності в стані «зупинена», потім – «припинена». Система вибирає ті додатки, які найдовше не використовувалися, і «вбиває» їх. Вам, як користувачу, не потрібно думати про звільнення пам’яті, та й телефон у вас не зависне, якщо ви запустите дуже багато додатків, просто Android завершить невикористовувані вами додатки, коли настане час «X». Чим більше у телефону оперативної пам’яті, тим більше додатків можна запустити одночасно.

Тепер переходимо до сервісів. Сервіси виконуються у фоновому режимі, наприклад, фонове відтворення музики, онлайн моніторинг цін на корми для тварин, різні клієнти миттєвого обміну повідомлення (скажімо, потрібно відобразити повідомлення про повідомленні, коли користувач переключився на інший додаток) і т. Д. Якщо діяльності поїдають оперативну пам’ять, то сервіси – батарейку. Якщо ви помітили, що батарейка спокійно лежачого на столі телефону швидко розряджається, значить, винен якийсь сервіс.

З’ясувати, який сервіс «жере» батарейку, допоможе програма Power Tutor. Що робити потім? Перше, що спадає на думку – встановити якийсь таск-кілер і «вбити» сервіс, який пожирає акумулятор. Але це не вихід, т. К. В подальшому він все одно буде поїдати ваш акумулятор. Найкраще видалити додаток, якому належить сервіс, і встановити інший додаток з подібними функціями. Вся справа в «криворуких» програмістів, які толком не вміють розробляти програми для Android. Треба сказати, що сама програма Power Tutor споживає багато енергії, тому після використання її теж краще видалити.

До речі, так звані таск-кілери використовувати шкідливо. Чому? Щоб пояснити вам чому, потрібно познайомити вас з компонентами додатків, з життєвим циклом додатків, а все це – більш складні матерії, що виходять за рамки даної статті. Багатозадачність в Android – тема досить цікава, але не для звичайного користувача. Вам же потрібно взяти за правило не “вбивати” самому додатку. Нехай за вас це зробить система.

Ссылка на основную публикацию