Related
ok its simple we all know the benefits of more ram. we all know that android slices up the ram into static addresses within the kernel. i would like to change that as we are in 2009 almost 2010 and we still rely on static ram allocation for the camera, gpu, sensors, radio. the g1 has 192mb of ram. yet we only get 97 for programs to use. i would like to place the camera, gpu, etc into dynamic addresses that we can change within the os without flashing a new kernel. a service, kernel code, module, or any other method could do this. we just have to make it happen. we could do it three ways i see.
1. a system managed ram allocation using a service to detect the percentage used and increase ram on the go.
2. a kernel script or service that only activates and allocates ram when needed. such as once a 3d program is loaded the 8mb magically comes back.
3. a virtual device ram allocation service that makes the device think it has the ram all along, but only actually gets it when it needs it. kinda like the way apps2sd works.
4.(by IConrad01) run perl scripts through ase and use ksplice to patch the gpu1 memory in kernel. one script on and one for off.
any other methods to implement this proper are very welcome and encouraged.
the idea behind this is a proper way to get back more ram for our programs. the idea is simple when 3d is not in use we can used the 8mb it would have used for something else. this applys to everything that has its own ram. camera, etc. say we did this and only got 120 free. thats almost 25% more ram. plus we could go the extra step and let the user choose how much each thing gets(gpu settings 4mb,8mb,12mb. camera on, off. etc) so when it needs it thats what it gets. great if you like/dislike 3d games.
on another note this is the kind of work that gets you noticed. the kind that gets you hired or gets you respect. google would be proud and might implement it and you and i know it. i hope we are successful and google uses it mainstream.
so lets debate a way/ways to do this
provide alpha tests of different ways to do this
and finally lets post a beta so everyone can enjoy.
atm ksplice with perl scripts is where we are going will update as this progresses.
Doesnt Jacs update to his hero rom have this, im probably mistaken
jad011 said:
Doesnt Jacs update to his hero rom have this, im probably mistaken
Click to expand...
Click to collapse
No. The current implementation of this basically cuts the graphics memory in half.
This would dynamically allocate the memory as needed. Much more efficient way of doing it.
he has a static change that takes the ram away from the gpu by a kernel edit. this is to have both more ram but still give the gpu what it needs to perform properly but only when it needs it or you chose to give it.
Are you referring to RAM or storage space? You say RAM in the title but then it sounds like you're talking about storage space before making me think it's RAM again later on. I'm confused :/ I'd really like additional free RAM, anything that helps reduce swapping to SD card is good but storage space I have plenty of.
all of this would apply to ram only. swap and compcache could use the same idea to dynamically allocate swap but that is still a cache for programs. sorry if its confusing. simple way to explain. i want all the ram i can get but still use everything the phone has properly, like games and the camera.
Gotcha and understood. I see so many people say RAM and memory when they're referring to storage space sometimes that I want to scream but extra RAM on the G1 would be more than welcome. Hopefully others with the brains to make it happen can do it
actually anyone with a basic knowledge can help. mostly there are a couple things to developing a good idea.
first the concept.
then ideas on how to do it.
next a map or guide to what does what.
coding different parts
putting them together
debug and test
even if all you do is photoshop the ui or provide ideas it helps. once some different people get aboard this should be working sooner than you think.
Of the three options listed, the kernel script (via ksplice) seems like it would be the shortest route to functionality, but frankly it also seems a bit... well, hackish -- when compared to the virtual device allocation scheme. It would take a hefty re-write of the kernel, I suspect, to accomplish; but being able to resize various devices on the fly would be a good thing. Shrinking CompCache based on real RAM usage for example would probably speed up the phone under light loads.
Just thinking in text here.
personal i think its going to start simple(script or root app) and go straight to gpu shared on or off. choose and reboot. however i do not want to stop there like winmo did. someone could create a short kernel patch that checks for a service or script and gets value or defaults to standard method. then we would have to come up with how to manage the switch(realtime vs. reboot) ideally we would remap the memory from scratch and rebuild the memory management services to dynamically allocate the ram for all devices(128+ ram) as needed. we have a start, we know where and how to turn the gpu1 shared on or off. now lets make it more than a hack and work on how to make our phones better. btw this is not a waste of time. this extends to other phones and the future way to set up our phones from default.
jokersax11 said:
personal i think its going to start simple(script or root app) and go straight to gpu shared on or off. choose and reboot. however i do not want to stop there like winmo did. someone could create a short kernel patch that checks for a service or script and gets value or defaults to standard method. then we would have to come up with how to manage the switch(realtime vs. reboot) ideally we would remap the memory from scratch and rebuild the memory management services to dynamically allocate the ram for all devices(128+ ram) as needed. we have a start, we know where and how to turn the gpu1 shared on or off. now lets make it more than a hack and work on how to make our phones better. btw this is not a waste of time. this extends to other phones and the future way to set up our phones from default.
Click to expand...
Click to collapse
The only problem with this is when the ram is divided, everything in it is cleared, thats why it is set at boot in the kernel. Think of it like repartitioning your SD. Now it would probably be possible have everything mapped to ONE big RAM table & then build something similar to a scheduler like BFS for RAM that would allocate it as necessary. This is messy though.
Just my $.02
well yes but it is possible to create shared memory through c++ http://www.go4expert.com/forums/showthread.php?t=8461
however i think the vm heaps has either a 6 or 16mb limit. anyways the service would basically do a memory patch over the kernel in realtime(like overclock) telling the gpu the memory is there all the time. meanwhile it allocates dynamic shared memory from the application memory for the gpu to read and write. meanwhile an app tied to a script would set the parameters and settings.
Okay -- I know ksplice works with perl; and I know that we can run perl scripts using the ASE .apk.
So... it seems to me that it /should/ be possible to use a patch that reverts the patched kernel back to the previous state, and a patch that switches the original state to the GPU1=0 MB state. From there, we could set up two scripts; one for GPU1-off and one for GPU0-on. Each would simply be an invocation of ksplice to input the specific patch (which would have to be stored on the sd card. [it would be safer if in the ext partition]).
We'd have to set up a secondary RAM device, rather than just adding it to the standard RAM pool... something like establishing it as a /dev/block/shm.
The point of all the above is that when you click on the GPU1-off script, it "reclaims" that RAM and gives you a device that's standard RAM. When you click on the GPU1-on script, it disables that device (forcing the reload of all programs using that RAM) and re-enables the GPU1 device.
Even better yet, the Android Scripting Environment program, much like GScript, supports desktop icons.
So -- very initially speaking, assuming we can get ksplice working on Android (which just requires a static binary, IIRC), we can get a simple pair of icons; one of which frees up the GPU1's RAM; and the other of which re-enables the GPU1.
Since the only times it's going to be "called up" are when a game is actively being played, or something similar, this should be a mostly-satisfactory route to begin with, before we can get into the whole scheduled/scaled script running as a daemon in the background.
Once we get /there/, then we can start looking at true virtual device allocations and shared memory and the like.
Although, I do have to say that I'm not entirely sure how comfortable I am constantly repatching the kernel. Definitely, we're going to want to recommend that people back up their original, unpatched, boot.img files!
IConrad01 i added your method to first post as it was a great start to this project. if you want me to rephrase just post what you want and ill change it. the only issue i might see is what geniusdog254 said it might unallocate the wrong thing and create a reboot. but some clever coding should prevent this.
Nah, that's all good.
There's an easy way to prevent it from becoming a reboot-able issue. Enable the GPU-space device as "swap". This could be done one of two ways; tell the phone that the new 8 MB RAM "device" is to be considered the /first/ swap device to be used, and just leave it "as is". The r/w times would be for true RAM. The other option assumes we have the latest CompCache (0.6+) -- as it allows for multiple instances of CompCache. The theme here should be obvious.
Either way, the result is that only swappable pagefiles would be lost when the device is turned back into GPU memory. No system-vital memory would get tossed. Seems simple enough to accomplish, perhaps. But then again, I Am Not A Programmer.
ok so what are the alternatives to ksplice for the swap device change. since we could make it swap/compcache anyways is it possible to change on the fly like the way overclocking widget does?
Ksplice allows you to make kernel updates and have them implement themselves without having to reboot the device. The swap device stuff would have to be implemented on a script-level. Two different things: I.e.; the script invokes ksplice to install a specific patch, which causes the kernel to recognize the newly freed-up RAM as a specific device (I.e.; such as /dev/ram1 as opposed to /dev/ram0). I am not sure I'm saying/thinking of this properly here: I'm operating on the edge of what I know about Linux.
Anyhow -- the trick is, when we get the kernel to disable the GPU's memory, we enable a new RAM-disc swap partition with its swappiness set to the maximum rating so it picks up everything first. Since it is /actually RAM/, it'll perform like real RAM. We're only 'declaring' it as swap in order to prevent forced reboots when turning it off.
The above wouldn't just be a ksplice thing; ksplice is just to implement daproy's kernel patch and thus free up the devoted memory to the GPU1. This memory would then be allocated to a new device (thus preventing the RAM-dump forced reboot) and /that/ would be set to swap status to ensure no "mission-critical" files go on it.
Then, once we get that built up, we just build it in "reverse" -- turn off swap (dumping its info back to the system, where CompCache / linux-swap would pick up the load) and re-enabling the GPU1.
Once we get /those/ built, we can then create a daemon script, include an invocation of it into the latest userinit.sh, and have that script basically monitor GPU0's load levels. If they go above a certain threshold (scaling, just like with the CPU), it would invoke the second script above, patching the kernel and re-enabling GPU1. This would then monitor the GPU, and once //its// memory load falls back down to where GPU0 can handle it all, turns GPU1 off and frees that RAM back up for individual use.
I can already foresee a complication where turning GPU1 off "on the fly" would cause a reload of all graphics, but... considering how rare it is to even pull a load above what GPU0 can handle in ordinary use, this isn't much of an issue. It'd take some tweaking and beta-testing (which I'm pretty much set to be a tester of at this point, apparently ) but that would be about it.
Now, //ideally// we could create an alternative solution which wouldn't rely on constantly patching the kernel. As I said; that can get... well, "messy".
I just don't know enough to know what that alternative path would be. Virtual shared memory space seems like it would be a good idea. An alternative solution could be something along the lines of enabling GPU1 at all times and simply having it call to a swapfile which is located in /tmp (I.e.; a non-compressing swap-file which is actually located in RAM). Said swapfile could be resized freely according to need and would thus be no issue at all.
Frankly, I can already see one reason why that would be a superior solution to all the ksplice shenanigans above: said swapfile could be made to be /larger/ than 8 MB, and thus actually provide for an increased performance due to higher available memory for the graphics side of things. We'd want some way to make sure that the swapfile itself wouldn't get pages dumped onto an actual swap partition. This seems like a much more elegant solution than the ksplice routine. I simply have no idea if it's even feasible. The swapfile would have to be mounted into /tmp (or it's Android equivalent) //at the time the GPU1 was enabled//. Is that even /possible/ at boot? Could we simply enable the device very late in the boot stage?
Quickly! Someone with /actual programming expertise/, rescue me from my aimless mental tinkering!
Since it seems there's little activity in this thread, I thought I'd share:
There is a debian armel package for ksplice.
( http://packages.debian.org/squeeze/ksplice )
This is ARM-compiled. We would simply need to cobble together a script which invokes ksplice properly. I myself know nothing of how this would be done.
Usage example of ksplice here:
http://www.ksplice.com/example-update
Looks pretty simple. You just need a working kernel build environment. Anyone got one of those laying around? I have wanted to do that for awhile but am too lazy to set up a linux VM, lol.
Hell yeah!!
Im not much good for this project other then willingness to try betas and give feedback, but I'm excited to see where this goes.. It would be great to reclaim the ram being used from the system when you aren't using anything that needs it and use it for what you are using. Has anyone contacted one of the devs that have been modifying the kernels and ask them if they could try building it with the ksplice functionality?? I would think one of them would be happy to build it so you can start playing with it. Wish I could help more on it, but this is a little above my head, but I will be following this thread and learning what I can as i go.. Good Luck!!
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!
Hi all!
I was thinking about some way to reduce list of apps installed on my device. Ergo: to get more /data & /system (and other partitions) free space to my advantage.
Testing platform:
Phone: Samsung Galaxy Trend Plus/GT-S7580/kylepro: http://www.phonearena.com/phones/Samsung-Galaxy-Trend-Plus_id8239
ROM: AOSP 7.1.2 (15.06.2017 build): https://forum.xda-developers.com/s7582/development/rom-aosp-7-0-galaxy-s-duos-2-trend-plus-t3472072 - main thread for this ROM.
AOSP 7.1.2 download link: build.sandpox.org
Launcher: Nova Launcher Prime 5.3 beta 2:
https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher&hl=pl - Nova Launcher
https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher.prime&hl=pl Prime Unlocker
Icon pack: Noctum Iconpack 1.9: https://play.google.com/store/apps/details?id=com.mlv.noctum&hl=pl
I started by deleting unwanted apps, but that wasn't enough. I was thinking about replacing some "core" apps from /system partition (e.g. Dialer, Gallery, etc.).
But there was a problem - how do I replace them ?
So I did some searching & found four solutions (I know there are dozens of this kind of apps. but I focused ONLY on this apps):
FOR REPLACING SYSTEM APPS WITH ONE APP:
1) "fooView":
XDA: https://forum.xda-developers.com/android/apps-games/app-fooview-alpha-im-t3326901
Play Store: https://play.google.com/store/apps/details?id=com.fooview.android.fooview&hl=pl
But that wasn't it. I didn't liked it. Some "unnecessary" features (at least for me, that's why it's in quote) & high (In my opinion!) RAM usage by the app marked this app as unusable for me.
But I need to thank the Dev, for letting me dive into it more & search for more suitable solution.
2) "Multitasking":
XDA: Couldn't find, does not exist on XDA ? If it is on XDA, then PM me, I will update the thread with those links. Thank You!
Play Store: https://play.google.com/store/apps/details?id=com.oryon.multitasking
Idea behind this app is very good, but it was crashing & force-closing often. Don't know why, I had always about 300MB of free RAM & CPU usage also wasn't that high.
Also disability to add my own apps & URL links and convert them into floating apps was a dead end for this app (once again - at least in my opinion!).
3) "Floating Apps":
XDA: Couldn't find, does not exist on XDA ? If it is on XDA, then PM me, I will update the thread with those links. Thank You!
Play Store: https://play.google.com/store/apps/details?id=com.lwi.android.flappsfull
Tried it with some disbelief that it will work, but... IT WORKS! THIS IS IT! All is working fine, many themes to choose from.
Great multitasking app! More than 35+ apps included! Dialer, Image viewer, Calculator & more!
Also it has ablility to convert apps & URL links into floating apps!
Works flawlessly, it will stay with me for sure!
But there are two small negatives (in my opinion!):
a) DON'T USE "Quick Launch Icon" on a devices with small RAM amount (like mine) - it increases RAM usage by 300% of the main process of the app.
With QLI: 68MB of RAM used
Without QLI: 16MB of RAM used
b)DON'T DELETE "Contacts" app (and "Contacts Provider" from obvious reasons) from Your phone before syncing contacts from cloud/importing them from .vcf file. "Contacts" app in "Floatnig Apps" can't sync/import contacts - it can only add new ones.
c)DON'T DELETE "Dialer" app (and other apps related to this app) from Your phone, because after deleting it, if You will try to make a call, the "InCallUI" won't show up. Phone will start ringing, but that UI will not show up, so You won't be able to accept/decline a call.
ONE APP FOR TWEAKING ROM*:
(One app to rule them all! XD)
1) 3C Toolbox Pro:
XDA: https://forum.xda-developers.com/android/apps-games/app-2-3-3c-toolbox-pro-t2942186
Play Store: https://play.google.com/store/apps/details?id=ccc71.at&hl=pl
It's a REALLY GREAT TOOL for tweaking ROMs to Your preferences. It has over 80+ tools in ONE app! (just read Play Store description)
It has CPU, RAM, ROM managers, build.prop editor, terminal, battery calibrator & MANY MORE in ONE app!
It's worth it's price.
#IHighlyRecommendThisGreatApp
SO, IT'S TIME TO COMPARE IT:
Before:
About 60-70 apps installed in the device.
Almost 2GB's of ROM memory used
Above 400 MB of RAM used
After:
ONLY 26 apps installed in the device.
Under 1.9GB's of ROM memory used
Under 320 MB of RAM used
Press "Thanks" button, if I helped You somehow. Best regards for You!
But overall, I need to thanks all this people for their work, so...
Credits are going to**:
@fvalpha for his "fooView" app.
OryonCorp for their "Multitasking" app.
LWi s.r.o for their "Floating Apps" app. @3c for his "3C Toolbox Pro" app!
@sandpox for creating a "starting point" for ROM development onto my device & for developing some first ROMs onto this device.
@no_name for creating this great ROM.
@DodoGTA for help with many things related to my device.
@sostk22 for help with many things related to my device. @DNikola for being a nice person. XD
Whole "GT-S758x team" group for so much help & a nice atmosphere in the group.
Whole XDA Community - thanks for existing. XD I have learned SOOOO MUCH with You**, here on xda-developers.com . Thanks to all of you!
*If I have forgot about someone, PM me.
**But I have still SOOO MUCH to learn! Will stay on this forum for a LOOONG time, for sure!
You can't get "full" 4GB from this device, the 4GB are the actual physical EMMC chip capacity, meanwhile it has been splitted to a lot of partition and /data is only max ~2GB
no matter how much you've deleted in /system, your usable capacity of /data will stay the same, unless you do a repartition which is extremely risky and cannot recoverable if it once screwed
The available RAM will depend on how much background apps are running though... but you don't expect to get more than 500MB usable since 200MB will be use to run the OS itself
The actual RAM chip is 768MB but it has been shared with GPU so only ~712MB is available for OS and your apps
so don't fully believe in whatever the OEM claims about the memory capacity, it will be a lot of different because of the unit and the system itself has consumed, my current device is claimed 32GB but only 28GB available for /data
sandpox said:
You can't get "full" 4GB from this device, the 4GB are the actual physical EMMC chip capacity, meanwhile it has been splitted to a lot of partition and /data is only max ~2GB
no matter how much you've deleted in /system, your usable capacity of /data will stay the same, unless you do a repartition which is extremely risky and cannot recoverable if it once screwed
The available RAM will depend on how much background apps are running though... but you don't expect to get more than 500MB usable since 200MB will be use to run the OS itself
The actual RAM chip is 768MB but it has been shared with GPU so only ~712MB is available for OS and your apps
so don't fully believe in whatever the OEM claims about the memory capacity, it will be a lot of different because of the unit and the system itself has consumed, my current device is claimed 32GB but only 28GB available for /data
Click to expand...
Click to collapse
Thanks for answer. Will do some changes in thread. Thanks for showing me my mistakes.
First i want to thanks to you for mention me..and tnx for your help with my problems and qustions.And now thanks for this thread.
Now i want to know can i try this on lineage14.1 ?
Sorry for bad english
DNikola said:
First i want to thanks to you for mention me..and tnx for your help with my problems and qustions.And now thanks for this thread.
Now i want to know can i try this on lineage14.1 ?
Sorry for bad english
Click to expand...
Click to collapse
You can try it, for sure! It will work.
Thanks for the mentions of fooView.
In my opinions, fooView is a floating icon app using machine learning mechanism to improve productivity.
All features in it are connected in the end. And it can be customized, so you need not use each feature, which would not start until you start it manually.
For the RAM, as a 6M apk, fooView takes a very little RAM as a floating icon, so it can run on almost every Android 4.1+ device. A special case is when fooView window is opened as any other browser, the system webview will cost much RAM to utilize your device performance(system costs more when your device is better), and release them when you close the window, it's used by the system and should not be counted into normal RAM usage (you might find the realtime usage in the developer mode in the system settings).
fvalpha said:
Thanks for the mentions of fooView.
In my opinions, fooView is a floating icon app using machine learning mechanism to improve productivity.
All features in it are connected in the end. And it can be customized, so you need not use each feature, which would not start until you start it manually.
For the RAM, as a 6M apk, fooView takes a very little RAM as a floating icon, so it can run on almost every Android 4.1+ device. A special case is when fooView window is opened as any other browser, the system webview will cost much RAM to utilize your device performance(system costs more when your device is better), and release them when you close the window, it's used by the system and should not be counted into normal RAM usage (you might find the realtime usage in the developer mode in the system settings).
Click to expand...
Click to collapse
Thanks for answer. I know about that Real Time RAM Usage (You're talking about "Running Services"). In my post, all RAM info is based on that "Running services" tab in Developer Options.
And (in my opinion!) it is too high. But when I will get a better device with more RAM, I will start using it for sure. About that "unnecessary" features, I was talking about functions, that this app duplicates, I'm not saying they are unnecessary per se. I think You get the point.
Idea behind this app is very good, so...
I wish You luck & success with this (and others!) project. Best regards.
https://drive.google.com/open?id=0B4q2ZkMZt4BjdjVFVnN3aW9xb28
I got this from indo friend
Can someone here check it and report about what it work or not ?
On our device ?
Guide : Add this file to system/bin
so I got a Sky Devices Elite OctaX from the government for free w/ Service, but the thing acts like it's rooted, but it iisn't all. Anytime I put a game on it, it thinks it's rooted and boots me out of the game. I checked all the usual culprits like if Developer mode was on (it wasn't), if USB Debugging was on (it wasn't) and other things that potentially could trip the program into thinning it's rooted. I don't know what to do with this tablet at this point: I don't know how to install TWRP to install a new rom on it to use as loophole, mainly because there is no supported version for it; same with it adding Magisk as well, so any "safe" rooting ways are out of the question and now im left with the "One Button" methods, sadly.
so Does anyone have any advice as to what to do with the tablet?
A device's Android is rooted when SU binary ( either as part of BusyBox or as part of ToyBox or as standalone ) is present in Android's filesystem and made executable.
It's easy for any app to detect the presence of an executable SU binary.
xXx yYy said:
A device's Android is rooted when SU binary ( either as part of BusyBox or as part of ToyBox or as standalone ) is present in Android's filesystem and made executable.
It's easy for any app to detect the presence of an executable SU binary.
Click to expand...
Click to collapse
so what are my options to get around this? It's a REALLY good tablet, but this has soured me on it, and I demand a refund... despite it getting it for free.
I don't know if this is allowed, but im bumping to see if anyone has an answer to help me with this.
Ramses83 said:
I don't know if this is allowed, but im bumping to see if anyone has an answer to help me with this.
Click to expand...
Click to collapse
If unsure just review the XDA Forum Rules; in case of your question please refer to rule no. 5. Affirmative, you're allowed to bump your question once every 24 hours.
Regards
Oswald Boelcke
Senior Moderator
Bless you good sir
bumping for justice!!
bumping till we can get this done! I believe in you all!
I still believe in you! bumping for hope!
bump
morning bump!
evening bump
Bumping with a result from root beer
bump
bump
still need help with the device.... I've made some advancements, like the reason why it keeps turning off apps is because it has insufficient memory... which is weird since it should have enough memory to run stuff.... im just confused, I think putting in a lower end rom would fix it... maybe. I don't know
Each Android smartphone comes with a fixed amount of RAM. It is part of the phone’s motherboard and it's not configurable by ROM settings. Also Android OS itself takes from this inbuilt RAM ~600 MB, hence device's available RAM is always far lower. So switching to another ROM - as intended - doesn't solve memory problems you may have, IMO.
In Android, each app's program runs in a self-contained VM that is by default assigned a certain amount of RAM ( read: heap ) - typically 128 / 256 MB. This amount is defined in Android's system file called build.prop. To this app-reserved RAM must be added the RAM required by an app's data.
E.g. games like Need for Speed: No Limits or PUBG Mobile can use between 800 MB and 1152 MB in total.
I either have the same tablet or the non elite version, but on mine there is an engineer mode app the opens with a shortcut launcher. There is an adb shell executor that executes commands not as shell but as system so I imagine you can use that to get done what you're trying to do.
Hello people! I've made this thread because I've been noticing apps getting hibernates/closed more aggressively in the background than usual. I know, MIUI has issues with being a little more aggressive than others but this isn't usual as I've had the phone for 2 years now and never experienced something like this. I've decided to open MT Manager to see if the file is even there (some posts showed how to edit the file so I thought why not try) and shocker, it's gone!? Now I'm unsure how a system file got permanently deleted for good but it seems very concerning. I'm gonna try downloading a rom for my version and see if I can doctor the file out of it but if not then welp. PLEASE reply with any answer/advice you have, helpful or not I appreciate anything right now! Multitasking is so impossible currently but that's what I need my phone for...
(No, I unfortunately don't have a backup...)
You can configure Android's Low Memory Killer via system file build.prop:
Low Memory Killer Daemon | Android Open Source Project
source.android.com
Changes in there don't stay permanent but I'll check it out also, isn't there supposed to be a /sys/module/lowmemorykiller/ folder?
xXx yYy said:
You can configure Android's Low Memory Killer via system file build.prop:
Low Memory Killer Daemon | Android Open Source Project
source.android.com
Click to expand...
Click to collapse
Never occupied with this, because I think Android is smart enough to manage RAM usage.
BTW:
You force settings to stay permanent if you simply add persist. to front of it, e.g.
persist.ro.lmk.low=1001
persist.ro.lmk.medium=800
persist.ro.lmk.critical=0
Thanks! And I'm only messing with it because it never hibernated apps THIS aggressively, I need to multitask.