Android Task Killers: How do killing background tasks and services actually help?

http://kschang.hubpages.com/hub/Android-OS-Task-Killer-beneficial-or-placebo-only

Android Task Killers: How do killing background tasks and services actually help? Should you kill tasks at all?

86
rate or flag this page

By kschang

Introduction

Android Marketplace has a dozen different task killers that will kill programs resident in memory, and promises to make your phone use less power and be more responsive. Do they actually work? Or are they just placebo? To answer the question, first we have to know how Android OS works.

Mobile OS vs. Desktop OS

In a desktop OS, such as Windows, when you run a program, the OS will search the "prefetch" cache, and load from that if available. If the program is not in the prefetch, then it will be loaded from the hard drive, with a copy loaded into prefetch. When you quit the program, the program unloads from RAM, but stays in the prefetch, so it can be retrieved quickly if you want it again. Prefetch also predicts what you will want to use next, and prefetches some of that, to improve response speed.

In later versions of Windows, such as Vista and Win7, the main memory is used as much as possible to help with the prefetch.

A mobile OS, such as Android, do something very similar. The difference is in Android OS, program that 'ended' are not actually unloaded from operating memory, until other programs actually request more memory. By keeping program in memory, it can be immediately accessed again. If a request for more memory is made, THEN existing programs are killed, based on the use frequency, to make more room for the new program.

Most Android programs do NOT have a "quit" function at all. As the not-running programs *do* remain in memory, but NOT accessed, they cannot slow down the system.

Furthermore, since Android system powers all memory at once, not selectively, killing programs not being used actively will not save any power at all.

Thus, killing regular running process does NOT make your system more responsive, nor does it save power. Any claims that they do so is a myth.

Where did the Myth Came From?

The myth that you need Task Killers came from the days when Android phones come with VERY little memory. The original TMobile G1 had only 192 MB of RAM. The Motorola Droid came with 256 MB of RAM. Modern Android phones like Samsung Galaxy S series or HTC Evo / Incredible have 512 MB of RAM.

Consider that the system itself needs 50-100 MB of RAM to run, and each "service" (used to power widgets, inputs, and background apps) needs another 2-15 MB of RAM, AND the apps are stored into RAM, there really isn't much memory left on a phone with 256 MB of RAM. The situation is much smoother on 512 MB of RAM.

The Android OS will kill off programs that are not immediately needed when it needs to load another app (such as receiving email, making or receiving calls, and such). However, you can't control what was killed. You can't specify "kill this, but not that".

Task Killers allow you to anticipate the automatic killing process by killing off programs except those in the "ignore list". If there's enough space, no automatic killing need to take place.  However, if that is not sufficient, apps and services will still get killed.

If you kill an existing component that the OS still needs because there are other programs calling it, Android OS will simply restart it immediately. If it is needed later, the task will be killed now, but restarted when it is called. However, not all services and other programs will gracefully accept the "lag" which the OS needs to restart the program. That's why sometimes you will see this "Force Close / Wait" dialog box, when the Activity (UI) calls the other parts of the app, but did not get a response back.

If there is enough memory, then Task Killer will only slow the system down as takes stuff OUT of memory only to see them loaded back in when they are called again.

Thus, Task Killers are NOT needed on phones with 384 MB or more memory.

Is the program still running?

A game that runs in "real-time" would have multiple portions: an activity to detect user input, a broadcast receiver to receive tilt sensor and button messages, a service to do background processing, and so on.

In contrast, a web browser has no more activity to perform upon the end of the surf session, until it receives another user command.

Thus, if you exit out of a web browser, the app will be deactivated (i.e. not unloaded, just no longer run). However, if you exit out of a game, all of the ancillary processes, such as broadcast receiver, service, and so on will need to be killed in addition to the "activity" UI. That's why some apps (esp. those that run in the background, like Pandora, or Google Navigation) have their own "Quit" or "Exit" button, and most apps do not. Then you hit "back" and you ended up on the "desktop" or workspace, the app is considered " inactive".

Yet you *can* task switch out of active games and such, and those apps, with still running services and such, can eat up battery. And because there is no "task manager" in Android, such processes can be "hidden".This is the instance where task killer can wipe out such processes, and prevent the battery from running down. However, it is a "scorched earth" solution, when there are "smart bomb" solutions.

By using a "task manager" such as AppSwipe!, which lets you choose among running apps, so you can quit them from within, you can kill apps without using task killer indiscriminately.

Conclusion

You have learned a little about how Android OS works, and why a task killer may not be the optimum solution to a slow phone or battery drain. This is not to say that all task killers are bad. I use Advanced Task Killer myself, occasionally. So it does have its uses. However, you don't need more than one, and running them more than once a day is unnecessary unless you deal with VERY buggy apps.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将下面中文翻译成英文:肿瘤是威胁人类健康的杀手之一. 目前, 化学药物治疗是最常用的癌症治疗手段之一, 但化疗药物缺乏肿瘤特异性, 患者常受到消化障碍、骨髓抑制、肝肾损伤及免疫功能下降等毒副作用的困扰. 近年来, 纳米载体在肿瘤的靶向治疗及药物的可控释放等生物医学领域的应用日益受到人们的关注. 理想的纳米载体应该具备高的载药量, 运输过程中低的药物泄露和有效的靶点药物可控释放. 释药可控的药物递送系统(Controlled drug delivery systems)能够被人为控制实现治疗药物在病灶处可控快速释放, 克服了传统药物递送系统的诸多缺点(药物释放缓慢, 选择性差, 药物利用率低等). 因此, 设计开发刺激响应触发的释药可控药物递送系统正受到科研工作者的广泛关注. 构成可控释药递送系统的材料被称为“智能材料” , 他们可以对生物体的一些内部(pH、氧化还原、酶等)或外部(温度、电/磁、超声和光等)的刺激响应[1,2], 响应前后, 材料发生组成或构象上的变化, 破坏递送系统原有的平衡, 从而使药物从递送系统中释放. 而光是一种清洁, 无创和有效的刺激源. 将特定波长的光用于肿瘤的精准治疗主要有光动力治疗[3,4]、光热治疗[5,6]、光声成像[7,8]以及光控释放药物递送系统等, 在几种治疗系统中, 光控释药型药物递送体系通过调节光的波长和强度以及光照时间和空间, 实现药物在病灶部位的高浓度光控释放, 减少药物对正常部位的毒性, 因此光控释药的药物递送系统在生物医学领域有着巨大的应用价值和广阔的发展前景. 本文对基于不同光响应机理的光控释药型药物递送系统的研究进展进行了综述, 指出现有光控释药型药物递送系统存在的问题及对未来的研究方向进行了展望.
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值