Related
Running Applications
Hi, im considerably new to the whole android development i have a g1 since early december and have upgrade it to the modded JFC 1.31 ADP. I also have the adp spl i think thats what u call it .
My question relates to the running processes/tasks/programs. I am concerned about the amount of programs that run in the background. Is there a way to cut down on this?
I have already removed Calendar, Amazon, Calculator, Calendar Provider seeing as how i do not intend on using these as for calculator i have installed a scientific calculator.
Its more or less Facebook, Craigslist, Imeem. The other bckg progs Gmail, Messaging, Alarm Clock are all smth i use so therefore i have no issue on that but ive tried editing settings on Craigslist, Facebook, Imeem and others to change the update interval and have maxed those out but still tend to run in the background i use the programs but i dont need them to update themselves.
Edit: I have also stopped the auto sync on Calendar, Gmail, Contacts Seeing as for Calendar i dont need it, Gmail i check it often, Contacts i dont use on my gmail service.
Have you got the task manager app from the app store? Thats what I do, and kill all the apps I don't need active.
TimSykes said:
Have you got the task manager app from the app store? Thats what I do, and kill all the apps I don't need active.
Click to expand...
Click to collapse
Yes i have, however they keep coming back up!
yeah I know some of them do. to me I don't know why alarm does. I don't even have a alarm set on my phone.
They come back due to the way android handles and saves tasks. The OS will keep resurrecting them thinking they are just dormant and were axed by them.
ArronL said:
They come back due to the way android handles and saves tasks. The OS will keep resurrecting them thinking they are just dormant and were axed by them.
Click to expand...
Click to collapse
So is there a way around this or not?
yeah.. im having the same problem, i shut them all down via task manager, but after like 1 minute i go back in there and they all come back up, is there any way to make them be off permanentally till you use them again?
tbh, the way the android works, if it keeps bringing these programs back they're probably not eating up too much memory.
in fact, no matter how much crap is running in the background i've never experienced any lag or anything. makes me wonder if there's any point in killing apps, except for ones that may be constantly connected to the internet.
Meltus said:
tbh, the way the android works, if it keeps bringing these programs back they're probably not eating up too much memory.
in fact, no matter how much crap is running in the background i've never experienced any lag or anything. makes me wonder if there's any point in killing apps, except for ones that may be constantly connected to the internet.
Click to expand...
Click to collapse
Well i definitely notice a lag, although i agree with you on the applications i removed like 80% of them now just using ones i need and just installed the 1.41 everything works great. But run about 10apps let them run in the bckgs and slide the main application tab on the home screen up and down and scroll through the programs. Then kill about all apps but 3 to account for ones you need and try it again you should most likely notice a difference.
Not on lag but background processes use up battery to, I did a wipe and have like four apps on my phone: aim astro any cut and ak notepad (wow must like A's) but my battery life is noticible better than before, I can go a whole day with out having to charge vs having to charge every few hours
does anyone know of a startup manager for the G1 for EG when i reboot or start up my phone i get a lot of services and programs which i use but do not want to start on boot.
i can use task manager to close them once the phone is started but wouldt be happy for something that disables these from the start.
Has anyone found a way to modify what OEM apps boot at startup?
So using Task Manager for Root Users we get this peek into what's ?running? on our phone. or am i sadly confused..
upon initial boot and after letting the phone boot fully (about 3 minutes) i get this list in my taskmanager..
Task Manager ---not oem
Service Viewer ---not oem
MyFaves storage
Messaging
Voice Dialer
Google Talk
Maps
Calendar
Alarm Clock
Power Manager ---not oem
Missed Call ---not oem
Messaging
Phone Recorder ---not oem
MyFaves Storage
Voice Dialer
Google Talk
Maps
The list remains the same even after several refreshes..
...oddly only after killing a few tasks this is added?
Gmail
note: at this point in service viewer/tasks, only taskmanager, launcher and service viewer are present..
After killing every process through multiple refreshes messaging (which I assume is a critical app tied to the notification bar) is the only thing that remains until i load something else..
First question..are the apps listed in task manager actual hurting my battery/memory/cpu performance?
Secone question..Is there any way to auto-kill these tasks upon boot, other than by removing them? Or is there some boot.ini type file that could be editted?
sry for the long post, just curious if something can be done...
Yeah id also like to know how to manipulate what starts up on boot.
Any dev should be able to tell us.
Plenty of apps start at boot.
Seriously I would LOVE the answer to these questions. Thanks
Now while this isn't coming from a dev, when I look at the running app list I often see things I haven't touched, but they won't start unless the phone's been idle. I think what happens is it actively fills empty ram with programs so they will start faster, so I think it's just in the nature of Android.
Fushichou said:
Now while this isn't coming from a dev, when I look at the running app list I often see things I haven't touched, but they won't start unless the phone's been idle. I think what happens is it actively fills empty ram with programs so they will start faster, so I think it's just in the nature of Android.
Click to expand...
Click to collapse
yes but dont they use up cpu/memory/battery? plus i dont think the programs are so resource heavy that they would need a process running.
An answer from a Dev is what we need
I think what we need is an explaination as HOW a program can autostart on boot. If every program on my phone (stored to sd) started automatically when I turned on my phone I'll be waiting a week for it to start up. There has to be a script that these programs add to or something to run these program automatically. Either that or it's the programs themselves that are set up to start up by themselves. Where if that's the case I think we're screwed.
I'm also VERY interested in this.
Also, how to keep apps from auto-restarting once you kill them. PixelPipe has a background service that, once you start the app after reboot, it won't die. Their app support guy states otherwise tho, heh.
Also, I like how the OS says a program has "died"
I wouldn't really worry about it. For one most of those processes will be sleeping. They use no CPU time when they're in this state. Some processes register an event with the kernel and just sleep forever until that event occurs and the kernel reactivates the process. Some processes sleep for a specific amount of time, wake up and do some task, then go back to sleep. In both cases the number of CPU cycles being used are likely negligible. Most of those start-up programs will fall into one or the other category. The stuff that does take up a fair amount of CPU cycles are things like the multimedia system, the UI system, messenging, etc. In other words, the stuff you want to keep running.
Also, I wouldn't pay too much attention to those memory usage numbers. There's heavy use of shared libraries in the system. Ordinarily processes are only allowed to access memory that is allocated to them. This memory is where the process stores the bits that make up its code (stuff that doesn't change) and where it stores its working data (stuff that does change). Its actually more complicated than that but this will suffice for now. Libraries that are not shared are accessible only to the process that is using it and is stored in the memory allocated to it. Libraries that are shared can be used by multiple processes. These shared libraries are allocated to one place in RAM and when an app needs to use one of them the kernel takes care of mapping the location of the library so the app can access it as if it was in its own memory space.
The memory usage numbers you are seeing do not take into account these shared libraries. An app may be using only 1 or 2 MB of RAM but since it uses a shared library the RAM being used to hold the library is also counted and the size could be shown as 20 or 30 MB higher that what it actually is. You could kill a process and recover some memory but its probably not enough to be worth it since more than likely most of the RAM being used was in shared libraries and they'll still be there after the process is gone.
numerik, thanks for the info. But now I guess my bigger concern would have to do with this part:
Some processes sleep for a specific amount of time, wake up and do some task, then go back to sleep.
Click to expand...
Click to collapse
Similar to the problems we run into in windows. Some lame program gets added to msconfig (be it a m$ app or wicked virus), it sits there idle when you fire up your computer uses a minimal amount of cpu amd memory then does who knows what whenever it wants.
I'm no developer, scripter, or any type of person with a thorough understanding of software but I will try to offer a suggestion to those who wish to give me the time of day.
After flashing countless ROMs looking for the fastest and most simple platform to use everyday I have discovered a few things that might help if people agree with me or not. After loading every ROM and first booting... I realize that Advanced Task Manager shows the available system memory at less than half and i haven't even started running apps or installing programs yet. Processes start when the phone boots up that are running in background (asleep but still using system resources) and i believe that a fair percentage of them are not required by the everyday user.
Why is Alarm Clock running in the background when i haven't started it? Why is Email client running and i haven't setup exchange or an email account? Messaging, Maps, Settings, Gallery, these all start up without being physically executed and are using resources. If there is a reason for them to be there like not being able to receive SMS if Messaging is not running, then that is fine and im an idiot... But if there is no need to startup the application from boot then why do it?
My second point is when packages are installed as the ROM is flashed, they cant be uninstalled right? well what if we didnt want tethering apps and facebook apps and proprietary software (Moto apps)? Most of these are available in the market and if not, a 5 min Google search will find an .apk on the net anyway.
So how about a bare bones install with the essentials and nothing else? Youtube, Phone, Messaging, Gmail, Contacts, MT Browser , Maps, Calculator... then anything else can be added at the users will.
If anyone else has something to say... or prove me wrong, then please elaborate.
If you delete the alarm clock task, you're likely to sleep into the morning as the alarm won't go off in the morning. Mail is probably needed for pop3 checks (I rely on my google account).
Anyway, I usualy remove the apps widgets from the ZIP which I don't need prior to flashing, resulting in a liter ROM and less processes which I don't need running in background.
I also used to add the apps I use (ASTRO...) directly into /system/app prior to flashing, putting them to the system partition and ... at this point I am not sure.... this leaves one with more space (internal memory) accessible for apps from market (if you do not use APP2SD). I stopped however doing so, as this makes ROM upgrading painful, as you do have to prepare each .zip before flash.
With regard to operating memory you preferably use either Taskkiller or have your systems autokill file optimized as many ROMS do (CursorSense). Refer to http://forum.xda-developers.com/showthread.php?t=622666
I'm not Linux-guy but I know that Android does this to put those programs in memory ASAP because those are usually the first few apps many people use once they boot up their phone -- meaning those apps, when opened, will quickly open and run faster.
Remember, Linux is made to handle all those opened apps and resources; "Unused RAM is useless RAM".
hol17 said:
I'm not Linux-guy but I know that Android does this to put those programs in memory ASAP because those are usually the first few apps many people use once they boot up their phone -- meaning those apps, when opened, will quickly open and run faster.
Remember, Linux is made to handle all those opened apps and resources; "Unused RAM is useless RAM".
Click to expand...
Click to collapse
Correct!!
People have to stop comparing Android (linux) with WinMo devices, they handle RAM completely different.
dione1200 said:
Correct!!
People have to stop comparing Android (linux) with WinMo devices, they handle RAM completely different.
Click to expand...
Click to collapse
Yes, true.... and well known. However Linux was developped for servers and not mobile phones.
Launching an application into free RAM is slower than pulling it from a suspended state. So much is true.
But first having to free up up RAM (by killing tasks) before launching the application into the freed up RAM is certainly slower than launching into free RAM. Probably that's why guys are tweaking around, as noted in the link of my post above. Also in my opinion the default settings are not optimal, that's why I use tweaked settings. Probably that depends on how you use your phone.
But I agree. Coming from Windows the whole LINUX concept is a f**** nightmare. There are thousands of different methods (Cache/Compcache/ Ext Cache)...
So it's good to have an expert around. Could you please enlight me, whether the system partition is of fixed size or size is been alocated during flashing. In other words, is the Userdata size fixed or depending on the system size? .... and is there a benefit of putting apps to the /system/app as they will go to system parition and I will have more internal storage available?
Thanks in advance.
feicher said:
So it's good to have an expert around. Could you please enlight me, whether the system partition is of fixed size or size is been alocated during flashing. In other words, is the Userdata size fixed or depending on the system size? .... and is there a benefit of putting apps to the /system/app as they will go to system parition and I will have more internal storage available?
Thanks in advance.
Click to expand...
Click to collapse
Your Android Device is divided Into partitions -> (Device memory)
1. Hboot (spl)
2. Radio
3. Data (Where u store ur data apps / passwords / other thing)
4. Cache (temp)
5. System (system dump)
6. Boot (to start the device)
so on
Now partition of memory card is important becoz
1. EXT2/3/4 More Amount of Data Section -> if device memory is less
2. Swap -> To fast up the system
*I m Not best Explaination giving person but i think this is understandable language in which i hav written
I think I side with the OP on this one, I would rather have a rom with less in it and then choose to install Amazon MP3 or whatever by myself. Generally speaking you could argue less apps = better performance, as there will be less happening in the background. That said, I have included Facebook in my rom.
However Linux was developped for servers and not mobile phones.
Click to expand...
Click to collapse
Not really true, Linux is just the kernel and can be ported to anything, it's been in embedded small devices for years and not just installed on servers.
ahmgsk said:
Your Android Device is divided Into partitions -> (Device memory)
1. Hboot (spl)
2. Radio
3. Data (Where u store ur data apps / passwords / other thing)
4. Cache (temp)
5. System (system dump)
6. Boot (to start the device)
so on
Now partition of memory card is important becoz
1. EXT2/3/4 More Amount of Data Section -> if device memory is less
2. Swap -> To fast up the system
*I m Not best Explaination giving person but i think this is understandable language in which i hav written
Click to expand...
Click to collapse
Thank you very much for the feedback! Most appreciated and helps me to improve my general understanding . I find it really hard to come by information, that is not absolutely basic or high level expert.
Thanks again.
Ive got a clock radio that wakes me up... if i have lagging issues with my phone what i do is use advanced task manager to stop all processes im not using (alarm clock, maps, messaging, email, etc) and everything runs fast again.
No use in reboot cause all the apps start again from boot.
ive tried removing zips from rom before flashing... when i goto upgrade the update stops cause of the missing files > incomplete manifest. is this cause you have to re-zip and sign it?
You can either do that and re-sign the zip file.
OR you could just close this thread and use adb to remove things that you dont want from the ROMs.
PS. root explorer also works wonders.
feicher said:
If you delete the alarm clock task, you're likely to sleep into the morning as the alarm won't go off in the morning. Mail is probably needed for pop3 checks (I rely on my google account).
Anyway, I usualy remove the apps widgets from the ZIP which I don't need prior to flashing, resulting in a liter ROM and less processes which I don't need running in background.
I also used to add the apps I use (ASTRO...) directly into /system/app prior to flashing, putting them to the system partition and ... at this point I am not sure.... this leaves one with more space (internal memory) accessible for apps from market (if you do not use APP2SD). I stopped however doing so, as this makes ROM upgrading painful, as you do have to prepare each .zip before flash.
With regard to operating memory you preferably use either Taskkiller or have your systems autokill file optimized as many ROMS do (CursorSense). Refer to http://forum.xda-developers.com/showthread.php?t=622666
Click to expand...
Click to collapse
when i try to remove an app from a ZIP it wont let me flash the ROM. even when i replace an app with a newer version renaming it to match the one im replacing, it still doesnt work. what do i have to edit in order to allow the update to go through?
You need to sign the zip file again. Google signing ROMs, its the first thing that pops up.
If i understand Android correctly, it sends applications into a "background" mode when switching tasks? I would like to prevent that. There are some apps (like games or browser) that need quit a bit of time restoring the last state so this would be usefull for some tasks.
Is this possible ?
TyrionWarMage said:
If i understand Android correctly, it sends applications into a "background" mode when switching tasks? I would like to prevent that. There are some apps (like games or browser) that need quit a bit of time restoring the last state so this would be usefull for some tasks.
Is this possible ?
Click to expand...
Click to collapse
Well, switching to background mode just marks the application as not displaying anything. The way memory management on Android works, if foreground apps (i.e. apps that are actively displaying on the screen) need memory and there's none available, then background apps will be put into a stored state that frees up memory for the foreground apps. Coming back from that stored state is probably what you're noticing. Android also tries to keep a certain amount of unused memory around and will put background apps into stored state to achieve that. We do have pretty limited memory available on this device so some level of pausing is always going to happen. See also: http://andrs.w3pla.net/autokiller/details
You may be able to reduce how many background tasks are put into storage by tweaking the minfree parameters (using e.g. Autokiller Memory Optimizer from the market) to tell Android to aim for a smaller pool of free space.
Mioze7Ae said:
Well, switching to background mode just marks the application as not displaying anything. The way memory management on Android works, if foreground apps (i.e. apps that are actively displaying on the screen) need memory and there's none available, then background apps will be put into a stored state that frees up memory for the foreground apps. Coming back from that stored state is probably what you're noticing. Android also tries to keep a certain amount of unused memory around and will put background apps into stored state to achieve that. We do have pretty limited memory available on this device so some level of pausing is always going to happen. See also: http://andrs.w3pla.net/autokiller/details
You may be able to reduce how many background tasks are put into storage by tweaking the minfree parameters (using e.g. Autokiller Memory Optimizer from the market) to tell Android to aim for a smaller pool of free space.
Click to expand...
Click to collapse
Thanks, i'm will give it a try. Is it also possible to max out swap before sending apps to background? I think restoring the ram-state from sd would still be faster for several apps.
Edit: reading your post again, i'm not talking about a tasking switch delay, but apps that completly reload themselves when switching tasks (DolphinMini page load,DungeonHunter as examples). Just to prevent any confusion...
TyrionWarMage said:
Thanks, i'm will give it a try. Is it also possible to max out swap before sending apps to background? I think restoring the ram-state from sd would still be faster for several apps.
Edit: reading your post again, i'm not talking about a tasking switch delay, but apps that completly reload themselves when switching tasks (DolphinMini page load,DungeonHunter as examples). Just to prevent any confusion...
Click to expand...
Click to collapse
Oh... Sorry I misunderstood. I don't know anything relevant to that case.
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
nheacock said:
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
Click to expand...
Click to collapse
Looking for such tool too. Making app to stick with its foreground state even though it is actually in the background. (Make it appear in notification?)
ZDBox is a useful tool... you can download from market its free and the app has the abbility to:
★ Traffic counter: Monthly/daily mobile data usage overview, shows remaining data traffic, detailed data usage information for each app.
★ Do not disturb: Just set days and the time when you need your privacy and you won’t be disturbed by your phone. Set phone to silent, vibration or airplane mode.
★ App lock: Protect apps with a password or pattern, for exmaple your contacts, Facebook, Twitter, Whatsapp,Gmail and so on
★ Task killer: Kill all apps at once, define protected apps which won’t be killed, set auto kill when screen gets locked, mark single or multiple apps to kill
★ history eraser:clean your(Browser history,market search history,Google Map search history,Gmail search history,Clipboard)
★ Notification bar: One tap on the bar shows remaining battery time, running apps, how much data traffic is left and if app lock is active or not. A tap on these informations starts ZDbox.
★ Uninstaller: Shows used/available internal and SD card memory. Apps can be easily uninstalled. Single or multiple (batch) uninstall possible.
★ App to SD: Move apps to your SD card. Single or multiple (batch) move possible. Only for Android 2.2 and 2.3.
★Cache Cleaner:With Cache Cleaner you can clean your cache of phone.protect your secret without a trace.
I hope you can use for keep your running applications with that app...
sorry for my english...
davidequiz said:
★ Task killer: Kill all apps at once, define protected apps which won’t be killed, set auto kill when screen gets locked, mark single or multiple apps to kill
Click to expand...
Click to collapse
This will not help since the task killer which kills the background apps in inside the android system not an external one.
We must find a way to control the internal one then...
nheacock said:
I've spent a few hours trying to find how to make certain Droid apps maintain their foreground state when put in the background with no luck. Perhaps it just can't be done.
I'm thinking of the Cydia iPhone app called Backgrounder which lets you choose which apps maintain foreground state when put into the background.
This is necessary, for example, with a note application where you are switching between taking notes and looking up info. Every time you switch back to the note app, you need to go back into your note, put it in edit mode and navigate to the section of the note you were editing. If it were acting like a foreground app in the background, when switching back to it it would already have your note open and be in edit mode with the cursor where you left off.
K9 mail has a similar problem where if you have an email open, switch to another application, when you go back to K9 it takes you to your inbox again where you have to navigate to the email you had open before switching.
Is there a tool similar to Backgrounder for Android?
Thanks.
Click to expand...
Click to collapse
Guys, I'm so much looking for a solution of this same thing. The closest I came to is Ram manager. Has a xda threat and can be found in the play store. But it also can't manage to lock an app and prevent its killing (although it helps a lot). I need my navigation always running and it is silently killed or stopped while I'm looking at my mail or have a phone call. This is ridiculous. Have you found a solution. Some way to protect an app from killing and lock it in the foreground. I mean how are they able to do it for the apps which are in the system tray!? Like antivirus apps and tons of other. I can't believe xda experts don't know how...
I would think that Antivirus apps run a service.
In Mioze's CM6 there are build prop edits that might work, but I never tried them.
Code:
# apps to be kept in memory (specified by process name)
# use with caution, RAM is limited!
sys.keep_app_1=
sys.keep_app_2=
I am not an expert and can't tell the difference between service and an app running. What you're saying makes sense, but I need clear instructions somewhere to make an app protected from killing. Thanks for helping.
Sent from my HTC One X using xda premium
Wrong forms this milestone xt720.
Sent from my SGH-T759 using xda premium
I pretty much fixed android multitasking - even on ense 4.0 and 4.1
http://forum.xda-developers.com/showthread.php?t=1900626
Testers welcome.
And for locking an app in a foreground state, my SuperCharger can do that via BulletProof Apps menu.
zeppelinrox said:
I pretty much fixed android multitasking - even on ense 4.0 and 4.1
http://forum.xda-developers.com/showthread.php?t=1900626
wI
Testers welcome.
And for locking an app in a foreground state, my SuperCharger can do that via BulletProof Apps menu.
Click to expand...
Click to collapse
I tested that and almost became an expert. I'm not so sure if it is completely solved, although I have to admit that you have done a great and recognized job.
Just tell me can the script for bulletproof apps work alone, without the supercharger script. Many ROMs have their own memory settings and one is afraid to cover them with supercharger script settings.
But if bulletproof script can run and do the job on itsown then the problem is really fixed.
Yeah its separate.
Alot of devs say dont supercharge because they dont want to be showed up and scare their users lol
But hundreds of roms come supercharged anyway.
zeppelinrox said:
Yeah its separate.
Alot of devs say dont supercharge because they dont want to be showed up and scare their users lol
But hundreds of roms come supercharged anyway.
Click to expand...
Click to collapse
Thanks for answering!
So I'm going to try running only the bulletproof script without the supercharger script and set an app to be UNbillable.
Should I set it to run on startup!? I'm using custom ROM. The last revolution HD.
The init.d script would run automatically.
So you dont need to configure anything.
Whatever app is in the hitlist will get bulletptoofed soon after running the app.
zeppelinrox said:
The init.d script would run automatically.
So you dont need to configure anything.
Whatever app is in the hitlist will get bulletptoofed soon after running the app.
Click to expand...
Click to collapse
I am trying to get this configured. But I only want to run the bulletproof script, not the 99SuperCharger script. I just want to keep my rom's memory settings, cause I am OK with them.
But both of the scripts (99SuperCharger and bulletproof) are going to reside in the init.d folder of my custom rom. So they will both be started, aren't they?
How can I make only bulletproof script run at boot. Should I just delete 99SuperCharger from init.d?
INTRODUCTION
This is a guide made to with help from Xperia X10 users and developers for Xperia X10 users enjoyment but most of the tips contained here are suitable for any phone running Android. The tips contained here focus on WHAT to do to improve the performance of your phone and not HOW to do it, after all, once you know what must be done is to find simple tutorials on how to take these actions.
For some of the tips contained in this guide I assumed that you have just installed a new ROM or formatted / bought your phone recently and have root access but even without these prerequisites this guide can still be useful to most users.
It’s important to say that although most of the tips some are quite basic, some require a little more work and deal with the more delicate parts of your phone, they should be made at your own risk. These more advanced tips often use very specific terminology which you can find more about on XDA Developers or even Google.
Finally I would like to remind that even machines that are made within a few standards can operate in different ways: some phones take better advantage of certain adjustments and settings and not others so it’s impossible to guarantee one hundred percent efficiency for all of you but still I that you make good use of this guide.
Sincerely,
Guilherme "XOT" Oliveira
- Install a good ROM and a good Kernel
Official ROMs are good but custom ROMs are usually faster and in many cases as stable as official ROMs. This is because ROMs are released and thereafter rarely change, custom ROMs are already made by developers who are constantly improving their job to get the most out of your phone. It's very important to research before installing a new ROM, searching always for the one that meets your expectations and relates well with your device since the same ROM can work very well on my x10 but not as well on x10 my brother’s for example.
The same goes for Kernels, but with Kernels take extra care to make sure that the Kernel is compatible with your desired ROM and your phone.
- Keep clean your caches
Caches are good to keep certain information and have access to these faster but with these files and information some "garbage" is stored .
The solutions to this can be pretty basic or advanced, the most basic way is to enter your Application Manager (Settings> Applications> Manage Applications) and clear the cache for each application. It is important to clear the cache only and not application data as these may be important such as the files that resemble your progress in a game. Already the most advanced solution is to clear the Dalvik Cache and Cache Partition through your recovery.
Both solutions don’t need to be made with daily frequency, for example I usually clean my caches every 45 days or when I feel that the phone is getting slow.
- Make a full, but clean, backup
Full backups (full system backup) like those made by recovery or nandroid are great to store complete setups but when they are done with “dirty” files in the the phone’s memory restoring these files may worsen rather than help the situation of your device .
Ideally, do a full backup after completely configure your phone (configure your account, set your homescreens, install the required applications, etc.) but before using it for real.
That way if your phone starts getting slow and nothing works to reverse the situation you can easily go back to your “original” settings without the hassle of customizing everything in its way again.
- Do not touch the CPU / GPU the first day
Like people, phones also take a while to adapt to a new environment, or in our case new ROMs, so during the first 24 hours of use is important to use the settings of CPU and GPU that came with the ROM, no overclock, undervolt and things like that.
Another important step in the process of adaptation to the new ROM is really using and exploring the device in this very first day so it "get used" to the change. Do not mind the battery consumption, that should stabilize after a few days.
It’s also iimportant to remember that some ROMs already comes with overclock, undervolt and improvements in battery usage. In this case there is no problem in using these settings from the first minute because if they are there since the installation of the ROM, it is because they are part of the default settings already programmed and develop on this particular ROM and it will work better this way.
- Use the maximum your battery
Batteries seem to last less and less as time goes on, in part this is because your battery is uncalibrated and there are ways to fix it.
I will not talk much on this subject because it is very easy to find guides that teach you how to calibrate your battery so I’ll just recommend that you take a look at them.
- Applications: less is more
Having millions of apps is the glory and the doom of smartphones, the glory because you can do everything on your device and doom because of the following reasons:
As a computer your phone also slows down the as it becomes full and in most cases you can blame it on the number of apps that you have installed on it. So try to leave installed only the applications you actually use and uninstall the ones that you no longer use so you can have more free memory and consequently a faster device.
Some applications can not be uninstalled because they are system applications; in order to remove those apps you are going to need uninstallers that have root access (ex: RootUninstaller) which are capable of removing these applications but before taking such a measure is necessary to look for a safelist (a list of applications that can be removed without causing system problems).
Keeping a low number of applications but doing so by installing and uninstalling new apps every day also usually let the machine slower so if you find an application for a specific function that fits your needs you should stay with it instead of testing another 10 before returning to it.
PS: A good way to avoid testing several applications before finding the right one is reading reviews and comments before making your choice.
- Repair defective applications
Often the phone is working fine but a certain application or function is not, which can cause slowdowns and FCs (force close); depending on the situation there is not much to do but some of these solutions may take care of the problem:
The first thing to do is to uninstall and reinstall the apps via Play Store to make sure that the problem was not caused by a corrupted file when you downloaded the application, if the problem persists there are some more advanced alternatives: in the advanced settings of your recovery select fix permissions, this function should make sure that every application has the necessary permissions to work properly.
- Keep some free space
Full memory is often a problem on any device, especially in older phones like ours, after all the more files the longer it takes read all these files if it is necessary, so the tip is this: the more free space the better.
This step seems a little redundant since we already talked about having the smallest possible number of applications but this time we are also talking about other files. Anything occupying space on your phone is "bad"; too many photos, songs, text documents, etc.. can make the phone slower and lets be honest, you do not need to carry 150 photos of your last weekend with you all the time.
A solution to this problem is simple, try to keep the memory of your phone as free as possible by eliminating caches, unused files and moving applications to the SD card (Settings> Applications> Manage Applications> choose the application and select Move to SD card or use apps like Link2SD); your SD card should also be kept clean by eliminating unused files and traces left by already uninstalled applications, such traces are sometimes hard to find and applications like SD Maid can help you eliminate much of this "junk".
- Avoid keeping some applications running all the time
It’s very common to close an application and assume that it stopped running on the system but this is not always the case because it actually still cached in the memory of the device, Android makes it to be faster on reopening it later and often the system itself definitively closes the application automatically but that’s not always the case.
Firstly it is important to prevent certain applications from even opening and to do this we use apps known as Startup Managers, there are several options in the Play Store but I particularly like Autostarts. Once inside your Startup Manager you can choose which applications will be opened as the system is started or any action is taken (for example changing the state of your Wi-Fi); the ideal is to minimize the number of self-starting applications, leaving only the truly necessary ones without forgetting to be very careful to avoid stopping system applications because if they are unable to open themselves it can cause instability. Another way to prevent applications from opening or stay on cache all the time is to disable automatic updates of apps such as email clients and social networks but this is a more personal matter that varies from user to user, just remember that the more constant the updates are, the more time these applications will be running in the background and more power (CPU and battery) will be consumed.
Now that we’ve already took care of the self opening apps it’s time to find out when you really need an app to be closed for sure.
It's easy to know when to quit an application completely but it is necessary to first understand a basic concept about the system: applications and processes cached in memory are not always a bad thing, in fact as stated at the beginning of the topic they are a good thing because the application should open faster when launched again (hence the use of Task Killers usually worsens more than help if not done properly) but if you use an application to view the weather every morning and will only use it again the next morning this application can be closed without problems.
In our current official version of Android (2.3) already have a task manager that can be used to do this action (Settings> Applications> Running services > select the desired process and press Stop) but if you want a more advanced option there are several Task Managers that monitor processes and can be used to close them too.
PS: Again about the Task Killers: although its use is discouraged for the day-to-day because of the reasons already explained, if you plan on haevy gaming they can be the great saviors since these games need a lot of free memory to run without lags.
- SMS: clean your inbox
Message apps, both native and third-party tend to take quite some time to open if you have many messages on your mobile because everytime you run your message app it needs to load a large list of conversations, so cleaning your inbox periodically helps performance, the same goes for call log.
A tip for those who want to clear the messages inbox and call log without losing your information is backing up with applications like SMS BackUp + that emails you both your conversations and call logs, all within a specific marker so they won’t end up messing the inbox of your email or if your intention is to save only one or two most important message the native client and most ones available at Play Store have the option of forwarding SMS, simply by holding your finger over until the action menu opens up.
- Give your device a break
Like conventional systems for computers, Android also collects information in its memory and despite the “dumping information system” some of it is left in cache , which ends up requiring more processing on your device.
To end this there is a very simple solution: give a rest to the phone. Once a day or when you feel like the machine is running slow give it a reboot or shut down and leave it off for a minute or two before restarting, it should get rid of the cache and it can boost the speed of the phone, but attention: restart the machine and making it open up various apps on boot has no point so keep your boot clean (see related topic).
- About some specific applications:
Task killers (that goes for any app of this kind) are good for a heavy gaming experience (eg: GTA, Dead Space, Asphalt...) because those games need a lot of free RAM but for everyday use is preferable to don't use task killers and keep some of the apps in the cache so they open faster when they are requested again.
Deep sleep is an important part of the ROM performance when it comes to battery usage, applications like CPU Spy can check if this function is working correctly or No-frills CPU Control which in addition to monitoring provides the ability to adjust the frequencies and governors you want to use in your phone.
Chainfire3D is an useful app to change the way your GPU will work and customize it to gain performance or quality , notice that these values tend to be inversely proportional.
Try always to use the lightest possible applications, it helps in memory. I for one think the galleries and music players of almost all default ROMs are too heavy and prefer apps like QuikPic and UberMusic.
Finally I would like to thank: XDA Users: Oodie, x10forevers, Vasishta Reddy, DiKeJ, 9Lukas5, FeraVolt, alzbac, Websites: lifehacker.com, limitlessdroid.com , doctor-android.com, androidcentral.com for helping with the tips on this guide and say that if you have a tip that is not in this guide feel free to share with us!
PS: I'm sorry if I made some grammar mistakes, English is not my first language and this is a pretty big article.
thanks...nice one..
Dude I screwed my music thing on x10 . Please help . Tried flashing xperia s music player . Now music icon has dissapeared . N power button seem to reboot all the time . Will updating binary files of xrec n then flashing again help ?
Please tel . Desperately.
Rooted x10 2.3.3 stock Rom
Sent from my X10i using xda premium
theMoiz94 said:
Dude I screwed my music thing on x10 . Please help . Tried flashing xperia s music player . Now music icon has dissapeared . N power button seem to reboot all the time . Will updating binary files of xrec n then flashing again help ?
Please tel . Desperately.
Rooted x10 2.3.3 stock Rom
Sent from my X10i using xda premium
Click to expand...
Click to collapse
Hey dude, I don't really know how to help you because I haven't had any similar problems but I'm pretty sure that you should try the basics: clear caches (dalvik included) and fix permissions.
Since I'm not a developer I can't really help you with the binary files but try reaching your ROM's developer and he might help you
I hope you get your phone fixed
Dude u sure that I should clear off dalvik cache ? I tried fixing permission but still nothing . The power button rebooting the phone is more irritating than not having a default music PLAYER . Im asking in this forum but havent got the solution yet :'(
Sent from my X10i using xda premium
Excellent post Buddy . Hope you update the thread with other power users opinions & Tips .
Thanks.
Oodie.
theMoiz94 said:
Dude u sure that I should clear off dalvik cache ? I tried fixing permission but still nothing . The power button rebooting the phone is more irritating than not having a default music PLAYER . Im asking in this forum but havent got the solution yet :'(
Sent from my X10i using xda premium
Click to expand...
Click to collapse
I think that the only people that can help you are the ones on your device's specific forum man, try creating a topic there
Sorry but I really don't know what to do to fix your phone
Some of the tips are a complete waste of time and utter crap (mostly those related to keeping RAM usage low and task killers [EDIT: actually, you contradict yourself on these points], giving the device time to "adapt" to the environment -seriously?- and going for the lighter apps -this obviously applies if you have an outdated device, but it's not a rule).
EDIT: Forgot to say that the rest is good.
GermainZ said:
Some of the tips are a complete waste of time and utter crap (mostly those related to keeping RAM usage low and task killers [EDIT: actually, you contradict yourself on these points], giving the device time to "adapt" to the environment -seriously?- and going for the lighter apps -this obviously applies if you have an outdated device, but it's not a rule).
EDIT: Forgot to say that the rest is good.
Click to expand...
Click to collapse
As I said the guide was wrote based on Xperia X10 user experience so it is kind of an old device.
About the RAM management you won't have any issues with a top device with a lot of free RAM but in our case (old device users) we have about 256mb or less RAM to work with so keeping it well managed is essential if you want your device to run smooth.
The adaptation thing seems like BS but it's not, because your device need to create/edit some files as its being used and that's what this part of the article really means. For example your battery writes a log about its own capacities (making a long story short by recalibrating your battery all you do basically is reset this log)
Thanks for the feedback, hope you found something usefull
GuilhermeXOT said:
As I said the guide was wrote based on Xperia X10 user experience so it is kind of an old device.
About the RAM management you won't have any issues with a top device with a lot of free RAM but in our case (old device users) we have about 256mb or less RAM to work with so keeping it well managed is essential if you want your device to run smooth.
Click to expand...
Click to collapse
No, it's not essential. It's actually bad.
The lifehacker website seems to be down, so I'm giving you a link to this article instead (the article itself links to three more detailed articles; one of them is the lifehacker article I wanted to link; do read them): http://androidandme.com/2011/11/app...lers-still-dont-give-you-better-battery-life/
EDIT: Regarding the battery, draining the battery (to 0% or close) is actually bad for lithium based batteries and should be avoided. A discharge to 15% is usually enough.
GermainZ said:
No, it's not essential. It's actually bad.
The lifehacker website seems to be down, so I'm giving you a link to this article instead (the article itself links to three more detailed articles; one of them is the lifehacker article I wanted to link; do read them): http://androidandme.com/2011/11/app...lers-still-dont-give-you-better-battery-life/
EDIT: Regarding the battery, draining the battery (to 0% or close) is actually bad for lithium based batteries and should be avoided. A discharge to 15% is usually enough.
Click to expand...
Click to collapse
I get your point and I also talk about the same thing as the article in the guide: "the use of Task Killers usually worsens more than help if not done properly" , I just didn't elaborated on this very much.
Now, what I'm saying is that if you are a day-to-day user you don't need a task killer and it's recommended ONLY for a gaming experience, aka heavy games like GTA, Dead Space, etc...
"Task killers (that goes for any app of this kind) are good for a gaming experience but for everyday use is preferable to keep some of the apps in the cache so they open faster when they are requested again."
I'm not a task killer fan myself but if you check any gaming rom (DikeJ's for x10 is a good example) you can see that the developers try to maximize the free RAM because those heavy games use a lot of it.
So in order to avoid this kind of confusion I'll edit the article to solve this misunderstanding thx for the heads up
GuilhermeXOT said:
I get your point and I also talk about the same thing as the article in the guide: "the use of Task Killers usually worsens more than help if not done properly" , I just didn't elaborated on this very much.
Now, what I'm saying is that if you are a day-to-day user you don't need a task killer and it's recommended ONLY for a gaming experience, aka heavy games like GTA, Dead Space, etc...
"Task killers (that goes for any app of this kind) are good for a gaming experience but for everyday use is preferable to keep some of the apps in the cache so they open faster when they are requested again."
I'm not a task killer fan myself but if you check any gaming rom (DikeJ's for x10 is a good example) you can see that the developers try to maximize the free RAM because those heavy games use a lot of it.
So in order to avoid this kind of confusion I'll edit the article to solve this misunderstanding thx for the heads up
Click to expand...
Click to collapse
Cool, thanks for that
Buddy, that guide is awesome written, excellent work. And big thanks for credits - I'm very proud that I could help in that "project" ^^. It's should hit XDA Blog . Cheers .
DiKeJ said:
Buddy, that guide is awesome written, excellent work. And big thanks for credits - I'm very proud that I could help in that "project" ^^. It's should hit XDA Blog . Cheers .
Click to expand...
Click to collapse
I'm the one who have to thank you
People please share your ideas so we can make this guide better!
Guys I have problem with Android smartphones. I am not the youngest anymore and remember the first PCs and first smartphones with 32x less memory then an average handheld device has today. I played with them all and know what they could do. The thing that still continues to surprise me till today on Android is WHY the heck can't an app stay in memory without being quit on the first occasion?? I really think that Android will never be usable for any serious work if things keep closing or reloading just after a few switches between apps!
Some examples: why can't I switch between Chrome browser and Onenote to type something without having that webpage be reloaded again using more data and sucking more battery power? I learned not to risk writing any bigger post into some forum lately because if I would have to switch to another tab to check some info or switch to another app the in progress text would most likely be lost because webpage would reload! Why is it so risky to switch out of some game to write a message or check calendar because it is very likely to be killed and my progress lost? The phones I used recently (Xiaomi Mi2s, Xperia Z3 compact, Xperia Z5 compact) have frikin 2GB of memory, so I wonder if nowadays apps are so much more memory demanding then before that this is simply still not sufficient. I just checked settings and some apps I just tested use few tens of MB, so it is still comparable to the times of Windows 98 or Windows mobile IMHO.
My first smartphone was windows mobile Samsung Omnia II with just around 90MB of usable memory and let me tell you that this problem was not happening on it! I could have several tabs with webpages (even non mobile versions) open and could safely switch on the camera, take pictures, write an sms and go back without having to worry that anything will be closed or reloaded! Why can't I open a camera app on Android and take a photo without having the previously open app be closed?
I can even compare today's android phones to one of my oldest pcs back in year 2000 or so. Imagine that it had just 64MB of RAM. I could have open many webpages in Internet Explorer (yeah it was far the best at that time , a few editors for web and text editing and I could even play some game and alt+tab back and forth without any problem! That was Windows 98 guys. Of course you will tell me that today's web pages for example are much bigger then in 2000. OK but what about mobile versions huh? I don't think they are that big so a phone with 2GB of RAM would choke.
I always thought that apps are supposed to be paused/frozen when I switch out of them but left in memory. Unfortunately it seems apps are being killed surprisingly often even when settings / memory shows hundreds of RAM free. The thing that is even more weird to me is that apps I had open just a few seconds ago are being closed upon switching to some other one and back, but the ones which I had active hours ago often stay in memory! That does not make much sense. Why doesn't android kill the longest not active apps first instead? OK, so do I have to buy OnePlus 3 or Meizu Pro 6 with 6GB of RAM to be able to keep simple 3 apps open without worrying that they will reload when switching out of them? As I showed this does not happen on much older devices with similar specs, so is this some fundamental flaw/feature of Android architecture or am I missing some simple explanation?
If you have experience with Windows Phones or iOS regarding this please share and compare.
So it seems everybody agrees
But I would really like to know some of your experience with other phones from the fruit company for example...
java
---------- Post added at 07:20 PM ---------- Previous post was at 07:11 PM ----------
> Why doesn't android kill the longest not active apps first instead?
There is some heuristic going on that calculate the oom priority and modifies /proc/PID/oom_adj so. For example (foreground) services have lower oom_adj (less likely to be killed by oom-killer). Actually I ended up adding code to my app that overrides /proc/PID/oom_adj to a really low number to keep it running (but that requires root - I also dont understand why *the user* does not have a chance to say "hey android keep running this app in the background!")
> Unfortunately it seems apps are being killed surprisingly often even when settings / memory shows hundreds of RAM free
Yeah that "low memory value" (ie when to kick off the oom-killer) is also set somewhere in /proc (?) It's 200MB on my phone with 2 gigs ram IIRC. To test what's getting killed (and whenl, etc.) this app is superb: https://play.google.com/store/apps/details?id=com.tspoon.androidtoolbelt
it's all even more annoying because starting even basic apps (like dialer or contacts etc. etc.) takes even seconds(!) if they are not in memory already (on any phone!) ... oh, well, java
Thanks for a reply! Have anybody tried MIUI? There is an option to lock an application and supposedly prevent it from being killed when multitasking. Just swipe up in tasks view and it marks it with a lock. I have just read this article and it seems manufacturers set these LMK values. I have a feeling they are really high for Sony phones. Maybe if I root mine I would be able to change those. Unfortunately it seems without root I cannot even view these values. They show as 0 in /sys/module/lowmemorykiller/parameters/ and cannot be opened. I can't open those oom files either.
yeah, defo need root for this
Oh and it gets worse. Because of this behaviour many apps use a nasty trick of setting up an alarm (usually with wake lock) triggered every second to make sure they are running (if a process is not running and there is an alarm for that process set up, the process is started).
So what happens is that the OOM/low-memory killer kills the app it is started by android framework the next second ... and it might get killed by oom-kiler again ...
It's interesting to run "apktool d foobar.apk" and grep the smali for "AlarmManager.set" on apps that want to run in the background ...
CleanMaster app is good and it saved me from exhausted internal capacity issues many times (on Z3Compact) and it also shows apps which frequently restart. Is that because of what you just wrote? I remember it was Pinterest a lot for example.
and it also shows apps which frequently restart. Is that because of what you just wrote? I remember it was Pinterest a lot for example.
Click to expand...
Click to collapse
sounds like it could be the case but you it's hard to tell for sure - you would have to have a look at logcat at least
I have logcat. What would you search for there?