[[Speed Improvements]] Brainstorming & Testing Thread!! - Touch Diamond2, Pure Android Development

Hey guys,
Seems there's a lot of ways you can improve the speed of Android in general. Some seem to be snakeoil... others, work quite well and there's proof to back it up.
I'm only interested in discussing the latter .
A lot of people have helped me gather a better understanding of Android (hyc, stinebd to name a few) in addition to a lot of Google searching. I am going to compile a list of what I have done, I would like to hear what you guys have done! Most app killer apps / app control will already be addressed, so those tools need not apply... I'm looking for real, permanent fixes here without adding more apps!
I am also trying to have topics that are easy working up to advanced. Obviously the more advanced topics are going to be harder to do. You've been warned.
So here's the disclaimer.
****DISCLAIMER****
Speed is as always relative. That basically means I don't want arguments about which build is faster. I want to argue about how to make every build faster .
Also, these tips should apply to any build, any device... they are pretty generic tips, but are obviously specific to Android, with some idiosyncrasies that apply to our port that wouldn't apply to native Android devices. Some is common sense, others are real ways to tear into the system. Hope you enjoy it!
Topic 1
Difficulty Easy - Apps/Widgets​
I've noticed the number of widgets i have on my screens, or the number of apps that I have installed/are running in the background to greatly effect performance, in an obviously negative way.
Once I removed all the widgets (I only have the basic analog clock widget & the Google search widget on one desktop...) this seemed to improve general speed. One minor thing to check is if apps are set to auto/background sync. Only enable the ones you really want syncing, others just check manually.
On this same topic, replacing the launcher (the stock launcher in Android, Launcher2 is quite slow) can help immensely. I like ADW, but I've used LauncherPro in the past and it is good. Zeam also seems like a good launcher. I haven't used Go Launcher EX, I've heard good and bad things about it. Use what works best for you, try 'em all!
The last thing on this topic I would like to mention is animations. Settings -> Display -> Animation -> No animations can make the phone feel quite a bit snappier, obviously at the expense of the look/feel of the OS.
Topic 2​
Difficulty Easy - Controlling app 'net Access​
This leads me into the next topic, DroidWall. I've noticed that blocking apps from accessing the internet has been a very good thing - it's not so much a performance booster (although it probably does provide a little bump) it's mostly about battery life. Just be warned, if you block an app that is set to background sync, it will probably have very negative effects. Only disable an app's access to the internet with DroidWall after you've checked that app's background sync feature is disabled. I have a few apps allowed in DroidWall, and the rest are blocked. You can "whitelist" everything and check apps you want to block, or "blacklist" everything and check the apps you want to allow. It's a little annoying to remember to enable/disable DroidWall (I use the DroidWall widget to enable/disable it globally) but if you do, it is much better - you have complete control over how apps access the 'net on your device. It is available on the Market.
Topic 3​
Difficulty Moderate - SD cache/readahead tweaking​
The only reason I'm calling this one 'moderate' is the number of choices you have for settings for this... It's basically telling the SD card how much to hold on to or... read "ahead" if you will . This was turned way up in FRX07, (from 256kb to 2048kb or 2mb...) and I think this might be the source of a lot of the complaints of 'mini-resets' if you will where the boot animation is suddenly seen after a long system hang...
So some cards will work better with a larger setting - I've heard some with spankin new C6 cards that said 3072kb or 3mb was a good setting. Others have found a sweet spot at 256kb or 1024kb (1mb).
There are two ways of doing this - you can hack the init in the rootfs and adjust the setting manually, or be lazy like me and use SD Booster (from the Market). Adjusts the same settings, and they are applied immediately!
I would like to find a "sweet spot" - a good default if you will. Can folks test out 512kb and 1024kb, see if you have any more mini-resets within Android or any other slowness, etc... Obviously this isn't a cure-all for the slowness or the mini-resets, what we're looking to do is mitigate the effects. So let's focus on that, thanks!
Topic 4​
Difficulty Moderate - Overclocking​
Overclocking is obviously one relatively easy way to improve the speed of Android. In your startup.txt, add a line
Code:
acpuclock.oc_freq_khz=710400
for example to overclock to 710.4mhz. How did I find this value? I actually put in 714000, but if you look at dmesg near the beginning you'll see "ACPU running at ..." - that's what clock is the actual maximum. It goes in 19.2khz increments.
Feel free to experiment with how high your phone can go, just be warned that the higher you go the potential for failure goes up as well . Phone shouldn't blow up, but it might not work correctly or at all. Rebooting and scaling it back will fix it.
Here's the full *example* startup.txt:
Code:
set ramsize 0x10000000
set ramaddr 0x10000000
set mtype 2292
set KERNEL zImage
set initrd initrd.gz
set cmdline "lcd.density=240 msmvkeyb_toggle=off gsensor_axis=2,1,3 pm.sleep_mode=1 physkeyboard=rhod400 acpuclock.oc_freq_khz=710400"
boot
You can put the command anywhere in the cmdline section, just make sure it's between the quotes and at least one space between each command.
Topic 5​
Difficulty Advanced - How Android Manages Memory/apps​
Ok, I'm going to take two approaches to this. The first, is the full explanation on how Android manages memory.
Please feel free to read the post I originally read that inspired me to start looking at this stuff - How to configure Android's *internal* taskkiller. It was very helpful for me to grasp how Android manages applications. This is the reason why application killers are not a good thing...
If you want to do it manually, Starfox suggests:
Code:
echo "1536,3072,8192,10240,12288,20480" > /sys/module/lowmemorykiller/parameters/minfree
To try to do these commands, adb is very useful. Once you get adb shell working, then you just need to "su" (provides 'super user' privileges (root)) and put in the echo command above ^^.
I had another user (thanks icevapor) suggest this script -
[Script] V6 SuperCharger! HTK & BulletProof Launchers! The ONLY Android MEMORY FIXER!
I tried it myself, and it works very well. This thread is a little overwhelming, but the jist of it is this:
Install Script Manager (on the Market)
Run the V6 SuperCharger script. I use "Aggressive 1 Settings" (#2) and then I use the OOM Grouping Fixes & "Hard to Kill" launcher (#17)
Point Script Manager to run /data/99SuperCharger.sh to run as root & on boot. This will ensure the tweaks are reapplied after a reboot.
Topic 6​
Difficulty Advanced - Managing Apps that auto-start on boot​
This is one of the most annoying things in Android. When you have no apps installed, it seems very fast. Then you install apps, and you never seem to get that original speed back... Now you can!
This is kind of difficult to do, I am still getting the hang of it... but here goes. All credit goes to hyc, his original post.
The basic idea here is you run a logcat (adb logcat is easiest here, or you can use GetLogs to pull logcat...) Look in this log for "for broadcast" and find apps that start on boot. For example,
Code:
Line 41: I/ActivityManager( 1394): Start proc nextapp.systempanel for broadcast nextapp.systempanel/.monitorservice.BootReceiver: pid=1752 uid=10060 gids={3003, 1015}
Notice there are two sides of the "for broadcast". The name of the package (nextapp.systempanel) and the name of the service, "nextapp.systempanel/.monitorservice.BootReceive". I made the mistake of disabling the app (the left side). Do not do this, you want to disable the right side!
So in the shell,
Code:
pm disable nextapp.systempanel/.monitorservice.BootReceive
This will be persistent across boots, it will go with your data.img.
Obviously this was just one example of an app to disable. So long as you disable the right side (after the 'for broadcast') you shouldn't disable anything that will cause a serious problem. The apps should still work, but for example if you disable Google Voice you won't get messages until you open the app. So think about that... You disable Titanium Backup schedules.BootReceiver, the schedules for Titanium Backup (if you have any) won't run. Stuff like that. Disable calendar, you won't get calendar events... Disable clock no alarms. Get it? Good. I have been rebooting several times, and I keep checking what is set to start on boot. I'm not quite happy with it yet, but there's some things I'm leery of disabling. Just be wary, if you do disable something and don't like it - just pm enable <whatever you disabled>.
Now experiment away! The one caveat is if you do break something with pm disable (and it's serious) you might get a failure to boot. It really depends on how bad you mess up. If you make a copy of your data.img before you start making these changes, you can revert to that data.img and start back there.

Alright guys. Going to use this thread as a way to brainstorm about ways to improve the speed. Read up what I've posted, let me know if I did anything wrong... Also let me know what you guys do to improve speed!
Don't care about what build you're running, this thread isn't about what build is fastest - this is a how do I make every build faster thread.
I also realize I posted this in the Rhodium section - I want to see if there's any TOPAa-specific tweaks that others should be made aware of!

Update to this - I changed around how topic 4 is done. Feel free to re-read that section.

Thanks arrrghhh, but for startup stuff, there are some apps doing the job, like Startup Manager or Startup Cleaner pro (found in Market), honestly haven't tried them yet but from rating, some of them has got 4.1/5.. What do you think mate?

metho88 said:
Thanks arrrghhh, but for startup stuff, there are some apps doing the job, like Startup Manager or Startup Cleaner pro (found in Market), honestly haven't tried them yet but from rating, some of them has got 4.1/5.. What do you think mate?
Click to expand...
Click to collapse
For the pm disable stuff? If you find an app that does it, more power to you. I want to control Android directly, hence the reason I went with a script that utilizes that concept. The pm disable stuff is obnoxious I know - so if you do find an app that'll do it for you, have at it. I didn't want to add any more apps into the mix if it wasn't necessary .

Rhod400 in startup.txt
Does physkeyboard=rhod400 cahnge the keyboard layout when texting?Does it make it bigger or what is that cmdline for?

1edge1 said:
Does physkeyboard=rhod400 cahnge the keyboard layout when texting?Does it make it bigger or what is that cmdline for?
Click to expand...
Click to collapse
Sorry, that part is completely irrelevant to TOPA. It is for a RHOD400, sets up the physical keyboard. You were only supposed to look at the acpu clock command, as it fits in the startup.txt... lol.
Use the startup for your device, I'm just showing you how the line should appear in the startup.txt...

arrrghhh said:
Sorry, that part is completely irrelevant to TOPA. It is for a RHOD400, sets up the physical keyboard. You were only supposed to look at the acpu clock command, as it fits in the startup.txt... lol.
Use the startup for your device, I'm just showing you how the line should appear in the startup.txt...
Click to expand...
Click to collapse
yeah i do use the startup for topaz. Was just wondering. haha. thanx for clearing it up

Related

[Q] Fix_Permissions - needed?

I am on CM 4.0.2. All my apps seem to work fine, but there seems to be some slight hesitation when lifting the app drawer - just slightly choppy. I saw a lot about the fix_permissions in console, does this address that? Or is that solely for apps that are not working? I am under the impression it does NOT help this.... but wanted to be certain. Does this mean I perhaps need to adjust my SD partitions?
Should one run that code even if all of the apps appear to be working correctly?
I did not see steps for running the script in all of the posts I saw... any help on this?
This will not help. You fix permissions to possibly help with FC.
Choppiness comes from not enough memory. Check what's running in the background and adjust accordingly. Check your comcache settings, adjust. Check your swap settings, adjust. Be advised though... there's only so much you can do, we are working with very limited hardware here.
FYI... I would really look into what's running in the background first. I run cm 4.02 with default comcache, no swapper. I have 7 widgets and it only stutters occasionaly, I barely notice. I would REALLY look into your backgrouds. Also, don't forget about GPS/Wireless location issue, that may be causing it too.
Good luck
Interesting... i use advanced task killer prior to rooting and when apps were killed i was around 55MB. Now, after root i can only get around 41MB. I never understood what made this lower... i assumed it was stuff cyan added to make his rom open. I do not use many widgets (3 maybe) and generally leave wifi and gps off.
Thoughts?

Auto Memory Manager 1.0.3

Hi guys. Just wanted to plug my app here. It's based on the work that has been happening in the "auto task killer" thread.
In a nutshell this app lets you configure Android's internal memory manager to help define when to shut down different types of apps.
Features:
- Presets and custom settings
- Works with Android 1.5+
- Sliders for easy setting of the apps.
If you have any questions just pop me and email or hit me up on twitter. This is very much a work in progress so I'll be updating it fairly often. So give it a try (QR code below) and I hope you find it useful.
Requires root access
Another good reason to root my Hero. I'd probably do that before upgrading to 2.1.
sanderg said:
Requires root access
Another good reason to root my Hero. I'd probably do that before upgrading to 2.1.
Click to expand...
Click to collapse
Sorry. forgot to mention that it requires root. If you are rooting then I would recommend flashing a 2.1 ROM since that's faster than the 1.5 ROMs. There are caveats of course since not everything is working perfectly on the 2.1 ROMs but it's working good enough for me. Call me shallow but I LOVE live wallpaper.
Could you perhaps give more information? I have set it to mainly 120MB (to test) and nothing is happening. Does it happen every x mins or something?
G8D said:
Could you perhaps give more information? I have set it to mainly 120MB (to test) and nothing is happening. Does it happen every x mins or something?
Click to expand...
Click to collapse
This works differently than a task killer. What you are doing is setting thresholds for each application type. So if you set the threshold for Empty Apps to be 120MB then Android will kill these apps when there is only 120MB left. This would be most of the time.
However these thresholds are soft settings. So if Android needs to start an app/service or the user manually initiates an app/service then these will still start as normal.
This is my understanding of how it works. (I am not an expert regarding this.) However I have noticed that Android is still starting up certain apps that seem to be useless and I haven't used either e.g. Amazon MP3. This could be something to do with the out-of-memory priority of the app. (will need to investigate this)
For me at least, I have found that using a task killer to kill all apps after you apply your settings works the best. But the app should keep things much tidier in terms of memory usage.
As mentioned above these are soft settings and I have tried setting all bars to 120MB and everything still works fine. You may or may not get the same experience but these are soft settings so the worst that could happen is that you have to reboot your phone and revert to the default setting.
In the next update the settings will be saved after reboot but you will still able to go into the app to change the setting anyway.
I hope I answered your question.

Auto Memory Mangager

Not sure if you all are familiar with this app, I haven't seen anyone speak upon it on XDA yet, so just thought I'd share my experience with it.
http://www.androlib.com/android.application.com-lim-android-automemman-wBjq.aspx
IMO, this app is pretty cool. Very simple and easy to use, although it doesn't come with detailed instructions on how to use, so I felt the need to explain a little bit about it:
Tired of lags to and from Dialer/Contacts/Call Log?
Have you ever pressed the call button to dial a number/contact and nothing happens for 10 to 15 seconds then finally the call goes through and starts to ring?
Ever went back to home screen after fooling around with an app, or web surfing the browser only to find that a widget or two is missing or is not loading/refreshing properly?
Gmail not syncing daily as it usually does?
Market taking forever to load up the downloads page or lagging connection with G-talk to promptly start the download/updates you started?
Well these are the memory/background/content provider situations that need to stay snappy if nothing else does, agree?
Then this app may or may not be the answer to all of your problems.
For me it was. First and foremost, it is a FREE app, yay! (at least to my current knowledge, unless developer has changed it)
*FYI* This app does require root permissions, so if you are not rooted this will be of no use to you.
After installing, when first opening the app, super permissions should pop up, just check the always box and press allow for root access. Close the app, then re-open.
Now, there are 4 options you may choose, DEFAULT< CUSTOM< MILD< AGGRESSIVE
Default settings will be what you see on first use, those are the default Android memory settings for your G1
Custom- self explanatory, you move the bars of each memory category according to how you prefer- *Note* the amount shown is not exact memory, it is a threshold, basically a set amount not to exceed, Your phone will automatically choose how much to use according to how much it needs, but its limitations will be set by the threshold you choose. Go ahead and make your adjustments, then click the custom button, this will save these settings. So the next time you want to re-enter those settings, just hit the custom button, and it will restore.
Mild- Simply a preset application setting
Aggressive- Another preset app setting
You choose what works best for you, I would suggest playing around with different settings until you have achieved a memory usage that gives you the most improvement, *Note* Do note mistake this as a speed app, it only controls memory, so don't expect some super fast change, but if you set it up properly, and memory is being managed to the best case scenario of your usage, speed will increase, believe me.
Start with the presets, see how they work throughout the day, if you notice no difference, or worst than it already was, change it to something else.
Personally, my best experience has been with the Aggressive preset. Its been the most effective for my phone, however; this won't be the case for everyone. Aggressive basically raises the threshold for background data(widgets,home, cache, etc.) And content provider (google apps, settings, G-talk and stuff) And Empty application- this means, IMO, the amount of free memory sitting around available, for soon to come data or apps that you might open later, I.E.- multi-tasking, Call screen, new mms or sms
It also lowers the threshold of the foreground and running apps, so that they don't suck up so much memory the phone lags before it can open other things in memory. Get it? But as I stated, different people will have different preferences.
If you haven't already, try it out! If you don't like it, or don't need it...maybe results won't change things enough for you to have any use for it, you can always uninstall, and it won't harm any memory or data on your phone.
Also, regardless of threshold settings, if you open or use more memory than threshold limits, it will not break or crash you phone causing reboots or anything like that. So don't worry. The app does not prevent you from doing anything on your phone, it simply manages it according to your use.
I hope this comes in handy for someone, as it has been more than useful for me on a daily basis. You can find more information via market or the link above.
Don't take offence to this, but any "speedup" you think you are getting from it is entirely a function of the placebo effect.
There is no advantage to forcing memory to remain "free", and in fact, doing something like this will actually make the phone SLOWER than it would otherwise be.
Android has a VERY well thought out memory management system. It keeps a record of processes running and their priorities. In the event that more memory is required for a higher priority application, it will automatically select some other application to kill off in order to get that.
What this does is it ensures that you ALWAYS have the memory FULLY utilized, which means optimal performance under every circumstance.
An unfortunate trap that you are falling into is the traditional view of memory -- for example on a DESKTOP system, you don't have anything killing off unused processes, which means that every program you open will use up more memory, so the more FREE memory you have, the more new programs you can open before it starts swapping, and therefore you aim to always have a big chunk of free memory because more free memory means more applications can be open.
Android doesn't work like this!!!
What you are doing is forcing a memory utilization threshold on the thing. This has the same effect as simply reducing the total memory available on the device. That means that important applications are *MORE LIKELY TO GET KILLED OFF*.... which has exactly the OPPOSITE effect from what you seem to be after, which is to ensure that these important applications are NOT killed off.
I could be wrong, but I believe the intent of this is to allow the Android internal memory manager to be tweaked so that certain applications/processes have a higher priority and remain in memory and those that you deem as "less important" are removed first.
Here is a thread on the Hero forum about it:
http://forum.xda-developers.com/showthread.php?t=622666
Also, here is another App that does the same thing... only it will allow the settings to persist through a reboot...
http://www.androlib.com/android.application.com-rs-autokiller-wEwp.aspx
With this App, I do not notice an increase in free (meaning useless) memory... I do notice that key processes that I deem important are still running on CM 4.2.14.1... Even after running many of the ~160 apps I have, including games...
Individual results may vary... Nobody runs the same exact configuration and apps on their G1...
L8r
@Ibcoder
That means that important applications are *MORE LIKELY TO GET KILLED OFF*.... which has exactly the OPPOSITE effect from what you seem to be after, which is to ensure that these important applications are NOT killed off.
Click to expand...
Click to collapse
But it doesn't do that, the threshold simply states a measurable amount of reserve...but not a limitation. Theres a difference. Limits and thresholds are not the same, So what you are saying is not how the app works. All apps open in memory remain in memory, of course you still have to use kill switches and task managers to control unwanted memory hogs, but the app basically controls the memory in use, thats all Im saying, so if that memory is being divided properly, responsive times will increase, I know android had its own setting of doing this, hence the word *DEFAULT*...that is what the app is for, if you don't want to let Android control your memory usage, the app gives you the option to customize it
Also, here is another App that does the same thing... only it will allow the settings to persist through a reboot...
http://www.androlib.com/android.application.com-rs-autokiller-wEwp.aspx
Click to expand...
Click to collapse
Cool app! Thanks for the link, never seen this one.
But wouldn't auto kill be the same as all the other task managers and explorer apps? Its made to kill off unwanted apps, processes, and background services to free memory right? Well, I have plenty of those, and they all work quite fine.
The app I am discussing above is not a killer, its only a manager, it just gives the proper amount of memory to the category you specify to be more important memory users, thus for saving wasted memory. It doesn't specifically kill off or make memory, just manages it.
thanx though, I will try that out.
I recently saw this new app in the Market, but was unsure what advantage it will have on performance, if any. I'll pay attention to this thread to see where the discussion leads on it's usefulness (or potential lack thereof).
TeeJay3800 said:
I recently saw this new app in the Market, but was unsure what advantage it will have on performance, if any. I'll pay attention to this thread to see where the discussion leads on it's usefulness (or potential lack thereof).
Click to expand...
Click to collapse
Ok, and I don't blame ya, that's how I test everything on xda, roms,apps, hacks, you name it....but only after I review enough good responses (preferably 3)
But on the contrary, there have been times that something was reviewed poorly, but after my own experience turned out to be great! You'll see that a lot in the android market as well, great apps with two star/3 star ratings all because some asshole didn't know how to use it, LoL
Try it dude, you got nothing to lose...won't break ya phone, but if ya want to play safe nandroid your current stuff first.
Klyentel said:
Cool app! Thanks for the link, never seen this one.
But wouldn't auto kill be the same as all the other task managers and explorer apps? Its made to kill off unwanted apps, processes, and background services to free memory right? Well, I have plenty of those, and they all work quite fine.
The app I am discussing above is not a killer, its only a manager, it just gives the proper amount of memory to the category you specify to be more important memory users, thus for saving wasted memory. It doesn't specifically kill off or make memory, just manages it.
thanx though, I will try that out.
Click to expand...
Click to collapse
As far as I know, they are pretty much the same... The XDA thread I mentioned above has both the Dev of the App you posted and the Dev of the App I posted... They both created one at around the same time... One with sliders and one with fields... The only difference I think is that AutoKiller uses a service to write the settings on a reboot...
Still playing with this to see if it makes any real difference... I know if I set the values too aggressive, then the browser reloads every time I come back to it...
I know if I set the values too aggressive, then the browser reloads every time I come back to it
Click to expand...
Click to collapse
yeah that has happened to me too.
The linux kernel keeps a buffer cache of recently used files in RAM. So whenever an application wants to access something on the flash, instead of going to the flash file system, it can just get it from the file buffer cache in RAM, a significant speed increase.
If the RAM is currently being taken up by unused android apps, then that leaves less room for the buffer cache, so in theory, by killing off unused android apps more quickly, that will allow the linux kernel to allocate more space for the buffer cache and thus speeding up the system.
Am I way off here?
Dave
lbcoder said:
Don't take offence to this, but any "speedup" you think you are getting from it is entirely a function of the placebo effect.
There is no advantage to forcing memory to remain "free", and in fact, doing something like this will actually make the phone SLOWER than it would otherwise be.
Android has a VERY well thought out memory management system. It keeps a record of processes running and their priorities. In the event that more memory is required for a higher priority application, it will automatically select some other application to kill off in order to get that.
What this does is it ensures that you ALWAYS have the memory FULLY utilized, which means optimal performance under every circumstance.
An unfortunate trap that you are falling into is the traditional view of memory -- for example on a DESKTOP system, you don't have anything killing off unused processes, which means that every program you open will use up more memory, so the more FREE memory you have, the more new programs you can open before it starts swapping, and therefore you aim to always have a big chunk of free memory because more free memory means more applications can be open.
Android doesn't work like this!!!
What you are doing is forcing a memory utilization threshold on the thing. This has the same effect as simply reducing the total memory available on the device. That means that important applications are *MORE LIKELY TO GET KILLED OFF*.... which has exactly the OPPOSITE effect from what you seem to be after, which is to ensure that these important applications are NOT killed off.
Click to expand...
Click to collapse
@dwang-agreed, as I stated @lbcoder, what he is saying is that the app holds everything in memory which slows down system, but it does not do that, and he implied that I stated it limited use of apps, which is incorrect, it does not operate as a limiter, or a kill switch, only a manager. Sort of like, organizing processes by priority based upon setting of threshold tolerance. Of course killing off unwanted apps and processes have to be done manually, via kill widgets or file explorers, When I first posted about this app I assumed that concept to be in mind of the reader....sadly I was wrong. I guess everything around here has to be put in perspective as if the reader knows nothing...sort of like an "101 handbook for Dummies" type thing.
What you are suggesting is incorrect, contrary to the product description, and quite frankly, impossible.
And you can't read.
There is no "I" in lbcoder.
Klyentel said:
@Ibcoder
But it doesn't do that, the threshold simply states a measurable amount of reserve...but not a limitation. Theres a difference. Limits and thresholds are not the same, So what you are saying is not how the app works. All apps open in memory remain in memory, of course you still have to use kill switches and task managers to control unwanted memory hogs, but the app basically controls the memory in use, thats all Im saying, so if that memory is being divided properly, responsive times will increase, I know android had its own setting of doing this, hence the word *DEFAULT*...that is what the app is for, if you don't want to let Android control your memory usage, the app gives you the option to customize it
Click to expand...
Click to collapse
lbcoder said:
What you are suggesting is incorrect, contrary to the product description, and quite frankly, impossible.
And you can't read.
There is no "I" in lbcoder.
Click to expand...
Click to collapse
First and foremost buddy, I quite frankly don't give a dam how you spell your name with an "I" or an "L"
Secondly, what I am stating is not incorrect, and is possible, because I have the app, use it everyday, and does exactly what I said it does via OP. Thank you very much. If you disagree, then don't download the app. Simple as that.
or heres a better idea create one of your own. I will be more than happy to try it if you feel you can do better, but don't downsize the quality of this one, straying other users away from trying it, as it may be as useful to them as it is me. Got it?
Now get ya DREAM on...(with android that is )
and leave me alone.

Directions for Best Android Experience :)

Ok, so we all want the best of the best of experiences for our DX superphone. Well, I am here to tell you how I have my setup.
The goals of the ultimate setup are to:
1. Keep as much privacy as possible
2. Ensure the best performance
3. Ensure best method to extend battery life
4. Ensure best feel
5. Ensure HAPPINESS!
NUMBER ONE:
First things first; we need to install the absolute best ROM right now. The ROM is called FISSION 1.1 by Team DeFuse. You will most likely have to re-root the phone after installing though. It is worth the hassle.
Known issues with Fission 1.1 but I'm sure will be fixed:
1. Compass Calibration
2. No custom battery profiles
NUMBER TWO:
We need to install all of our applications.
NUMBER THREE:
If you don't have them already, download the paid version of Titanium Backup and the application called AUTOSTARTS and very very importantly, DROID WALL, SetCPU, CacheMate and also very importantly, Advanced Task Killer
NUMBER FOUR:
Restart phone. Upon reboot, we will first open up Droid Wall and give it root privileges. Then, we are going to fill in both boxes with checkmarks next to only the applications which you use a lot and need internet access! It is good practice to look at what all apps need access to when installing applications. If an app like Notepad for instance needs Internet Access, we know there is a problem. It is apps like these, we don't want to have access to the internet.
You will also have to have checkmarks next to "Media Server", "Browser", "Calender", "Calender Storage", "Email", "Google Search", "Maps", "Market", "Messaging", "Street View", and "Visual VM". Those are the ones which need to be allowed in order to not cripple your Android experience. Obviously, the remaining apps are UP TO YOU.
You should manually disable and re-enable the firewall after every reboot! You then want to kill Droid Wall and the other showing apps with Advanced Task Killer. Once Droid Wall sets the firewall rules, they stick regardless if the app is running or not. There is no need to leave it running.
NUMBER FIVE:
Now, we are going to open up the program AUTOSTARTS! It will take awhile to load all of the apps of your system. This app makes it so you can actually reliably use ADVANCED TASK KILLER without the apps you kill AUTOMATICALLY restarting and thus wasting precious battery.
You want to disable all your 3rd-party user apps in EVERY CATEGORY except for the Widget Categories at the bottom. For the first app you disable from starting, you will have to give AUTOSTARTS root privileges.
Don't disable "Google Voice", "Visual VM", "Dialer", "usb", "Dialer Storage", "Battery Manager", "Battery Manager (Power Profile Receiver)", "Google Partner Setup", "Google Services Framework", "Voice Dialer" (If you use it), "Email" (If you use it), "Messaging", "Bluetooth Share" (If you use Bluetooth), "Contacts Storage", "Droid Wall", "SetCPU", "ADW Launcher" (If use it), "Launcher Prof" (If use it) or "Launcher" (If use the stock launcher)
Everything else should be clicked on and disabled except for apps which are your widgets on your homescreens and in the Widget Categories!
You are going to notice a crazy increase in speed from this!!!!
NUMBER SIX:
We need to reboot. Upon reboot, open up ADVANCED TASK KILLER. We now need to put some apps on the ignore list.
The apps I have on my ignore list are:
SetCPU, Messaging, Music, Google Search, Market, Visual VM, Beautiful Widgets, Voice Search, K-9 Mail and Google Voice
You would also want to put any apps which are related to any widgets you have on your homescreens on the ignore list too!
This will effectively make it so any app we close, IS CLOSED FOR GOOD until we ourselves initiate it MANUALLY.
NUMBER SEVEN:
My phone is a dud; well at least the CPU is. It won't go over 1100mhz and be stable regardless of how much voltage I crank into 'er. So, for my phone, I modified the 1.1Ghz .zip folder which is installed in the Fission folder of your SDCard when you install Fission. I modified the setscaling.sh in text editor and changed the following values:
Changed the 800mhz to 900mhz. You may or may not have to raise the voltages that they have pre-set for the 800mhz and 1100mhz settings. If you are not stable, just give each of them a couple notches of increase.
NUMBER EIGHT:
Upon reboot, we need to setup SetCPU. We are going to create 3 profiles
1. Screen off --> 300min / 600max --> OnDemand
2. Charging AC/FULL --> 300min / 600max --> OnDemand
3. Charging USB/FULL --> 300min/ 600max --> OnDemand
We then go back to the homescreen "of SetCPU" and change our values of what we want the phone to do whenever the screen is on and it is not charging. Here we want to put 900mhz for the min and 1100mhz for the max.
For some reason, even if SetCPU is not disabled in AUTOSTARTS, it doesn't load the values upon reboot. You will have to manually open up SetCPU just one time for each reboot.
IMPORTANT: If you want to OC higher or maybe not even at all, have at it. However, I still think SetCPU and the profiles I listed above would be great for you.
NUMBER NINE:
This may not be an option for some of you, but I like to disable remembering form data, cookies, cache, passwords, and history on my browsers.
The best browser to use "IMHO" is the new XSCOPES version 6.
If you like some other browser, just change the privacy settings to those of above to be safe. If you can't live without, then just don't worry about it.
NUMBER TEN:
Install CacheMate for Root Users.
In the settings we want to have checked:
1. Clear TA Utility Caches
2. Close CacheMate on Close
3. Clear Admob and Google
4. Clear Flash Cache
5. Clear Temporary Cache
Then, we want to have everything checked in Data Experimental and SDCard which is Relevant to our phone. For any app you don't have, don't put a check next to it. If you use apps like APMobile (Associated Press), you want to uncheck that and apps like it so you don't have to set it up every time you open the app.
I don't really like letting CacheMate run all the time being set to automatically clear on intervals. I didn't mention it, but I NEVER leave ADVANCED TASK KILLER run all the time either.
Uncheck power clear on the main screen and clear the cache ever day or two.
NUMBER ELEVEN:
Install ADW Launcher. It is by far better than LauncherPro. Only continue to use LauncherPro if you can't live without its widgets.
In ADW Launcher, we want certain settings done.
1. In Screen Preferences, we want to have both Desktop Scrolling Speed and Desktop Overshoot set to "0"
2. In Drawer Settings, we want animated drawer check, show app labels checked, fade app labels checked and for background color, I like to use a dark color with some transparency!
For Zoom Effect speed, set it to its lowest setting of 300ms
3. Under System Preferences, we want to check Wallpaper Hack and set Scrolling Cache to "Auto". Obviously, if you have widgets, you will want to check scrollable widget support.
4. In UI Settings, I check everything besides:
Dockbar, Closing folder, Secondary ActionButtons and Show Desktop Indicator.
I have AB Scale Factor set to "5".
After you get your homescreens all set up EXACTLY how you want them, backup both the desktop configuration and backup ADW settings. Also, make sure to do another backup in Titanium so when you restore ADW Launcher after installing a new ROM, it is exactly how you had it before.
NUMBER TWELVE:
Open up the program which is already installed called Spare Parts. It will be in your App Drawer. Don't install it again from the market unless you for some reason don't already have it in your app drawer.
1. I have haptic feedback and compatibility mode checked.
2. Set the "Window Animations" and "Transition Animations" to FAST
NUMBER THIRTEEN:
Do a Titanium Backup via Batch operation.
1. There are only 2 options in the batch operation options which you should ever need to use!!! They are:
A) RUN - Backup all new apps & newer versions
B) RUN - Restore Missing Apps with data
Run the backup every once in awhile to keep the backup of your apps up to date.
IMPORTANT:
When restoring apps, UNCHECK ALL SYSTEM APPS FROM BEING RESTORED!
The paid version gives you HyperShell which means you don't have to manually click each app when it is restoring. It makes the process very simple.
You also want to uninstall the older version of Flash Player and get the newer one from the market.
I have followed this guide for Titanium and have installed numerous ROMS for the Droid 1, HTC Droid Incredible and now the Droid X WITHOUT EVER HAVING ISSUES!!!
NUMBER FOURTEEN:
Go into ROM Manager and install the AOSP Keyboard under /Download ROM/Drod2169/CHANGE OPTIONS-Focused-1.0/AOSP KEYBOARD
You will automatically have to check FIXED 8MP AOSP Camera as well. That is the camera installed by default on Fission 1.1 so it won't hurt anything. Don't check backup data or wipe data/cache!
Also, I would install both QuickOffice and DX_Music.zip under the SDCard/Fission/Add-Ons directory. You obviously have to do this in Recovery!!!
The Music player will be 100% identical to the one that comes installed by default on Fission 1.1, but it gives you the option to pause play and seek tracks from the lockscreen!
NUMBER FIFTEEN:
Install any themes or mods which are compatible with your ROM and set up your sounds and everything else you like to do and enjoy your android device to its fullest
I know I probably missed a couple things but will update when I remember.
VIVA LA ANDROID
EDIT: I had Fission 1.0 for some reason. I meant Fission 1.1. I'd also like to point out that Rubix 1.0 is the same exact thing as Fission but with more optimizations and tweaks. I ran them both but slightly prefer Fission 1.1
reserved...
Nice post!
Sent from my DROIDX using XDA App
Sleuth255 said:
Nice post!
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
Thanks a lot! That's all derived from months of obsessive learning along with trial and error
How dare you recommend Advanced Task Killer. You need to have your Android License revoke immediately.
Since we're talking about rooted phones and memory management, use Autokiller. It does what android already does natively, only better.
Nice write up, but do yourself a favor and get rid of ATK!
LexusBrian400 said:
How dare you recommend Advanced Task Killer. You need to have your Android License revoke immediately.
Since we're talking about rooted phones and memory management, use Autokiller. It does what android already does natively, only better.
Nice write up, but do yourself a favor and get rid of ATK!
Click to expand...
Click to collapse
Please don't get caught up on the ATK thing. I don't want this thread turning into a pro or con ATK. One will however say that ATK without AUTOSTARTS is pointless. Due to AUTOSTARTS, ATK is once again relevant and really beneficial.
If the app AUTOSTARTS or anything like it wasn't available, I wouldn't tell anyone to install ATK. With my setup, any app we kill with ATK will not be automatically restarting thus wasted battery. That was the biggest issue with ATK before AUTOSTARTS was available. Now, anything we kill are only apps we ourselves initiated.
Apps left running do still use CPU resources. The latest privacy study of Androids apps show that 50% or so of the tested apps sent private information to advertisers in the background.
When the Android system only has like ~40mb of free system RAM available, the system will no matter what bog down somewhat. We can get rid of this from ever happening.
Just put the little green ATK widget on your main homescreen and one tap and your done. The ATK widget takes the same amount of space as an icon. It is simple and easy.
Doing it like this ensure at no point EVER is the Android system going to lag.
Sleuth255 said:
Nice post!
Sent from my DROIDX using XDA App
Click to expand...
Click to collapse
Well was I happy seeing those post when did you get a Droid X.
-McMex
A few weeks ago. Excellent device too. I'm confident that the locked BL will be defeated. I'm running through some of luv2increase's mods now... I like the idea of being able to defeat autostart and place strict control over the apps I allow to run.
Sleuth255 said:
A few weeks ago. Excellent device too. I'm confident that the locked BL will be defeated. I'm running through some of luv2increase's mods now... I like the idea of being able to defeat autostart and place strict control over the apps I allow to run.
Click to expand...
Click to collapse
Yes it is an excellent device just today I posted on Twitter I have all the high end Android phones and the Motorola implementation of the Droid X is by far the best nice polish too. I been playing a lot with SetCpu profiles (removing bloatware via adb) and power saving settings and can get over 18 hours of heavy usage. Just starting to try these other ROMs out. As always if you need a tester or I can help you with something let me know I have been on Android a while now and have a lot of experience and a ton of apps.
A lot of you guys have no idea the asset that Sleuth is having a Droid X.
-McMex
Alot of great tips in the OP. I actually run with almost this exact setup. I am using Rubix 1.0, though. Great rom. These tips will help tremendously with performance and battery life. Thanks for passing this along.

[MODULE] Automatic SQLite DB Optimizer

Automatically optimizes SQLite databases on boot, on schedule, every X days.
Just a quick and dirty adaptation of an old SQLite3 optimizer script from init.d days to a Magisk Module using a service.sh script instead, with an internal date offset mechanism to run the script every X days (default: 3 - which is plenty, and specifically to stop silliness).
Update And credit note: finally after a fair bit of digging, i think i located the original author of the original init.d version of the main vacuum code snippet ive repurposed (stolen) for this module. It appears to be from user @mcbyte_it (doesnt seem to be current or active) and from a post here. Although i only saw derivative reworkings of this script, and used only the main sqllite script function, i arrived at a different method of tracking last run date, when his is arguably more mainstream/concise. Im fairly certain this is the originator especially as the post also has a zipalign script that was also suggested to me to do....and which i have been fiddling with for months....
The script will wait until boot is completed AND then until avg CPU usage is under 30%, to minimise the risk of possible corruption.
Disclaimer: As always any use of any 3rd party script/software/advice is at the users discretion. All reasonable efforts have been made to make this as safe as possible, but the responsibility ultimately falls to the user whether to use and run the script.
What it does:​It:
Reindexes
Vacuums
Analyzes
all .db files under /data.
It runs a 1st run optimize after install (temp file optimsql_first_run on sdcard is used to enable this, and removed after first run), and then on schedule after that.
By default it logs just script progress to /storage/emulated/0/autosqlite.log, but you can choose to enable more detail in the log if you wish
​User Configurable Options:​The schedule and loglevel can be changed by an external file on sdcard:
Create a file named autosqlite_options on sdcard (/storage/emulated/0/)
Inside create the follow key=value pairs to suit your preference:
interval=x (where x is the number of days between script runs, for the love of god do not put 1 (this goes out especially to the kind of people who put every app on their Magisk magiskhide/deny list) there is no benefit and you just heighten the possibility of corruption)
loglevel=x (where x is either 1 (detailed logging) or 0 (basic logging - default))
Requirements:​This module requires a working SQLite3 binary. If your ROM does not provide one (you can check via typing sqlite3 into a terminal), you can choose to use my SQLite3UniversalBinaries module located here:
https://github.com/stylemessiah/SQLite3UniversalBinaries
Dont forget you need to download a named SQLite3UniversalBinaries.vx.x.zip file from the Releases page under Assets. Do not try installing the source code with Magisk Manager, it will not go as you expect
All the modules action takes place in the service.sh file, its commented reasonably well for those wanting to check how it works
* See... now theres something else to use with my SQLite3 Universal Binaries module other than the GPay SQlite Fix Module <- dont use that anymore, it makes me stabby. It is literally the last resort for getting Google Pay/Wallet to work ,
Please note: the included LICENSE only covers the module components provided by the excellent work of @Zackptg5 's Magisk Module Extended, which is available for here for module creators
https://github.com/Zackptg5/MMT-Extended/
All other work is credited above and no one may fork or re-present this module as their own for the purposes of trying to monetize this module or its content without all parties permission. The module comes specifically without an overall license for this intent.
Download:
Repo: https://github.com/stylemessiah/AutomaticSQLiteDBOptimizer
Release: https://github.com/stylemessiah/AutomaticSQLiteDBOptimizer/releases/latest
Powered by Ponkle
@73sydney Nice! If you're looking for newer sqlite3 binaries, I have a build script you can use to build it or you can just grab the precompiled ones at my repo: https://github.com/Zackptg5/Cross-Compiled-Binaries-Android
Zackptg5 said:
@73sydney Nice! If you're looking for newer sqlite3 binaries, I have a build script you can use to build it or you can just grab the precompiled ones at my repo: https://github.com/Zackptg5/Cross-Compiled-Binaries-Android
Click to expand...
Click to collapse
cheers man, i was trying not to pinch all your toys
i mean i could have done an androidacy and scraped your repo for just the files i needed
plus im lazy
73sydney said:
optimizes SQLite databases
Click to expand...
Click to collapse
Nice
how about no schedule, i want to execute it whenever i want
possible ?
loopypalm said:
Nice
how about no schedule, i want to execute it whenever i want
possible ?
Click to expand...
Click to collapse
I refer the gentleman to the name of the module and title of the thread:
"Automatic SQLite DB Optimizer"
the distinct lack of the word "manual" should be a clue
what are they teaching in school these days?
i made this to be automatic and made special note about the intervals because theres people who would abuse this and run it every day if they could, both designed to avoid misuse/abuse:
interval=x (where x is the number of days between script runs, for the love of god do not put 1 (this goes out especially to the kind of people who put every app on their Magisk magiskhide/deny list) there is no benefit and you just heighten the possibility of corruption)
im not really interested in making a manual version option unless you can convince me where there is a use case benefit, because all i see is potential for misuse/abuse that i specifically made this to avoid....
running it by default it runs every 3 days which is twice a week and probably still overkill, but trying to cover all bases
your other option is to ask me for permission (sadly because of abuse in the past from certain entities trying to monetize my and others work, my contributions are not GPL etc) to fork and alter the code yourself....
73sydney said:
I refer the gentleman to the name of the module and title of the thread:
"Automatic SQLite DB Optimizer"
the distinct lack of the word "manual" should be a clue
what are they teaching in school these days?
i made this to be automatic and made special note about the intervals because theres people who would abuse this and run it every day if they could, both designed to avoid misuse/abuse:
interval=x (where x is the number of days between script runs, for the love of god do not put 1 (this goes out especially to the kind of people who put every app on their Magisk magiskhide/deny list) there is no benefit and you just heighten the possibility of corruption)
im not really interested in making a manual version option unless you can convince me where there is a use case benefit, because all i see is potential for misuse/abuse that i specifically made this to avoid....
running it by default it runs every 3 days which is twice a week and probably still overkill, but trying to cover all bases
your other option is to ask me for permission (sadly because of abuse in the past from certain entities trying to monetize my and others work, my contributions are not GPL etc) to fork and alter the code yourself....
Click to expand...
Click to collapse
i was planing to use it once a week
categorizing me with people who do dumb stuff is an 'insult'
i asked a simple question man, don't jump to level 3 mind game please ...
loopypalm said:
i was planing to use it once a week
categorizing me with people who do dumb stuff is an 'insult'
i asked a simple question man, don't jump to level 3 mind game please ...
Click to expand...
Click to collapse
Im sorry, did you miss the double smileys intended to completely avoid any misunderstanding that i was being jovial. the other tip off that i wasnt burning you was taking the time to write several paragraphs
Can i suggest you just set the options file interval to 6 or 7 and let the module do what its described in the title as doing, it would make no functional difference, other than saving you a trip to terminal?
As i said, give me a valid reason for adding a manual option and ill gladly consider it, choosing a reason that fits completely within the actual parameters of the existing module doesnt really fit that offer...
ill go further to why i specifically didnt put in an option to run it manually (really folks are lucky i didnt block the option to run it every day) because you should understand what the sqlite vacuuming and other processes do:
* They copy the data from the db file to temp file before optimising it and writing it back, at any point in this theres the potential for corruption (sudden power loss, other processes accessing the file etc). Ideally any such corruption would be minimised by journaling but anyone who had used Linux for long enough knows not to count on such things.
* If any db is being written to, then the optimization process will NOT optimize that db...for the above possible corruption reasons. Hence why i not only put in a wait till boot completed function BUT also added a function to block the script from running unless avg cpu load over 5 minutes is less than 30%. all this to try and make things as safe as possible. So im not overly fond of a manual option which bypasses these safeties i specifically put there to hopefully safeguard people as best as possible. I dont want to get messages about how my module hosed someones apps.
Perhaps that better addresses my reasons?
As said, you can also ask me to fork the code, and ill even tell you how to add a manual function, but i personally wont be releasing such a version without a better reason than i want to do it every 7 days, when the script as it stands can do that AND at a far more predictably safe time and way than you manually likely can or will use it....
BTw, how is actually responding, even taking the time to do so and being jovial about it "level 3 mind games?", whatever the hell that even is?
73sydney said:
.
Click to expand...
Click to collapse
i was planing to make a recovery backup of "DATA" after the optimization of DB files ...
if you want better result add a comand to kill the coresponding app, then it would be more stable
or tell the people to use FlushRam or something like that before the proccess start, to make sure the result will be good, or make a 2nd module for advanced users ...
even with the condition you said some system apps stays working in the background and messing with their data can lead to corruption
i don't know you or your previous work and i don't have time to care for that
i just asked a simple question
answer with "NO, my module will not do that"
this will save your time and other people time
loopypalm said:
i was planing to make a recovery backup of "DATA" after the optimization of DB files ...
if you want better result add a comand to kill the coresponding app, then it would be more stable
or tell the people to use FlushRam or something like that before the proccess start, to make sure the result will be good, or make a 2nd module for advanced users ...
even with the condition you said some system apps stays working in the background and messing with their data can lead to corruption
i don't know you or your previous work and i don't have time to care for that
i just asked a simple question
answer with "NO, my module will not do that"
this will save your time and other people time
Click to expand...
Click to collapse
1) whether before or after backup, the files will eventually get optimized - if you want a more manual version use SD Maid or as offfered you can ask me how to alter the code as it sits and make your own version.
2) Im not ever releasing a script that kills anyones apps in the background, i would consider that suboptimal, and basically malware
3) I never said that some "system apps stays working in the background and messing with their data can lead to corruption". What i said was i designed the script to best avoid corruption by running only after boot completed and when avg CPU usage over 5 minutes was less than 30%. The sqlite3 itself generally wont allow access to a file in use. Im just adding what i think is a reasonable level of extra safety by deciding when the optimization routine starts to run, and that it isnt abused/misused by running multiple times in an unreasonable timeframe
4) How does
I refer the gentleman to the name of the module and title of the thread:
"Automatic SQLite DB Optimizer"
the distinct lack of the word "manual" should be a clue
not equal "NO, my module will not do that", only with some attempt at humour and a long explanation (soon followed by a more reasoned explanation) because i didnt want to appear dismissive. Yet it looks like you’d have preferred dismissive??
You seem impossible to please anyway someone tried to do it....
To be honest Im tired of this circular conversation. Everyone else knew from the word automatic in the title how things was going to work. Ive made suggestions of alternatives (SD Maid) and even offered to give you the info to change the script for yourself, and cant do more than that.... please choose one and lets move on, please?

Categories

Resources