oasisfeng's advice on swiping away recent apps - Greenify

In the original Greenify thread, oasisfeng posted that constantly swiping away recent apps is not good practice.
I posted those quotes on reddit (hope that's ok with you) and it's become a topic of hot debate among redditors. It's currently the top post in the /r/android sub-reddit.
Here are the original posts:
http://forum.xda-developers.com/showthread.php?t=2155737&page=932
BTW, swiping away apps from recent tasks frequently is not a good practice, since it reduces the efficiency of process cache mechanism in Android, thus impact the performance of your device.
Click to expand...
Click to collapse
Swiping away apps from recent tasks kills the process of those apps, thus prevent them from being cached in memory. When you launch them later, it takes longer time and much more CPU cycles to create the process and re-initialize the app runtime.
If you don't do that, it generally saves your time and battery, though not so much.
Click to expand...
Click to collapse
Most parts are correct. Clearing recent tasks does free much memory, at the expense of later performance and battery consumption for launching those apps again. So if you have a device with 2G RAM, it gains no benefits in practice.
Click to expand...
Click to collapse
If you heavily depend on the recent tasks list for frequent task switching, then you may prefer to swipe away the unwanted tasks to make task switching easier and clearer.
Click to expand...
Click to collapse

Related

How to END programs without an app...

I was wondering how to quit a program without using an app like taskiller. basically i'm using the Browser and pressed home screen to leave, but i want to quit the browser so it stops running...
Press the "Back" button. That is when you're inside an app and want to close it.
The behaviour of the "home" and "back" keys vary from application to application. Some quits, but the majority keeps running in the background. Some applications have an "exit" option from their menu, but that's just a few and most notably applications which normally are expected to do things in the background like maintaining connectivity to IM servers, checking for new mail etc. This is one of several inconsistencies which hopefully gets sorted in future android releases, accompanied by consistent recommendations in the dev-kit documentation.
From the Hero home screen, do this
Menu - settings - applications - manage applications - browser - force stop
Or you could stop treating your phone like a desktop computer and accept the fact that a) you can't run different apps in windows side-by-side and b) there is no point in closing windows. Android does the memory management for you.
Volker1 said:
Or you could stop treating your phone like a desktop computer and accept the fact that a) you can't run different apps in windows side-by-side and b) there is no point in closing windows. Android does the memory management for you.
Click to expand...
Click to collapse
I agree that android does the memory management very neatly, that's only when you are running very low on it... and what about the fact that the backgroung apps are draining the battery?? I think one really needs to get rid of unnecessary apps to improve battery life.
LooieENG said:
From the Hero home screen, do this
Menu - settings - applications - manage applications - browser - force stop
Click to expand...
Click to collapse
Hmm, yeah that's one way but it takes for ever!!
salmanbodla said:
I agree that android does the memory management very neatly, that's only when you are running very low on it... and what about the fact that the backgroung apps are draining the battery?? I think one really needs to get rid of unnecessary apps to improve battery life.
Click to expand...
Click to collapse
Background apps are SLEEPING, ie they ONLY take up memory, they hardly use any CPU time at all
Background apps can sleep and can also continue to work.
Just let the handset work its own management. Never had an issue with memory or slow downs but just leaving well alone.
If you want the browser to stop loading before you move to another app or go Home, just hit the stop loading icon in the address bar.

[Q] Question about keeping background apps off

Ok I have looked around and have not found the answer. SO here Goes
In windows if you want to keep the memory that you have clear of background applications, you can run system configuration and just remove the check-mark for those items you dont want to auto start.
I have Advanced Task Killer installed and will set it up to auto kill and will manual kill apps as well. Instead of consistently looking at ATK to shut down apps, is there a way to just keep all the apps you not using nor have ever started from suddenly being there and sucking the life out of your battery?
Having applications "running" in the background (i.e., still in memory but in a suspended state) does NOT negatively affect your battery life. These applications are actually just remaining in memory because that memory does not need to be used by anything else at the moment. If an active application gets to a point where it needs more memory, Android will automatically close applications that are in a suspended state (i.e., not actively being used) to make room.
In other words, using an app killer is NOT necessary and I definitely recommend NOT using one. By closing the application repeatedly, you are just causing the application to take a longer amount of time to start up next time you use it. You're making your Android experience worse by using one, not better.
There is one caveat to this, and that is when you have an application installed that doesn't play nicely -- i.e., even when you stop using that application, it will continue to use up CPU cycles (never go into a suspended state). This is actually pretty rare unless you are installing really poorly written programs, but it can happen to some popular apps too (usually the result of a bug). In this case, you should either uninstall that application or use an app killer to only kill that one app.
I've heard both sides of this argument, and don't know who to believe. I didn't think I needed a Task Killer, but then I saw it repeatedly on "top 10 apps for Android" and "must have Android apps" lists from respected sites like cnet... who to believe?!
Cnet ≠ respected
Sent from my Liberty using XDA App
drumist said:
Having applications "running" in the background (i.e., still in memory but in a suspended state) does NOT negatively affect your battery life.
Click to expand...
Click to collapse
I need to confirm this. Anyone? I dont care about memory because I bet Android excels at that, and at any rate, memory is there to be used, not to keep it empty.
But I come from a Symbian smartphone and "minimized" applications DO uses battery. Maybe little, but noticeable.
Anyone can confirm that background apps consume negligible battery juice?
Additionally, is there a nice task changer? Like windows Alt+Tab. I feel my Android like an iPhone, that I need to press the home button to move to another already opened app and that's just plain stupid. So far I'm using Multitasking Lite, but it can get sluggish once there are too many apps opened. Any suggestion would be warmly welcomed.
"Running" background apps DO NOT consume battery life unless they're actively syncing. If it's just in the memory saving the state of the app then that is fine.
As far as using a task killer, if you are manually killing apps and they keep starting back up then that is a bad thing for your battery. The app uses cpu cycles everytime it starts up again and syncs data. You can use a task killer to close apps that opened on startup or when you're done with them. If they stay closed until you choose to open them again then you're saving memory, but nothing to do with battery life.
ocswing said:
"Running" background apps DO NOT consume battery life unless they're actively syncing. If it's just in the memory saving the state of the app then that is fine
Click to expand...
Click to collapse
Thanks for confirming ;]
Darius_bd said:
Additionally, is there a nice task changer? Like windows Alt+Tab. I feel my Android like an iPhone, that I need to press the home button to move to another already opened app and that's just plain stupid. So far I'm using Multitasking Lite, but it can get sluggish once there are too many apps opened. Any suggestion would be warmly welcomed.
Click to expand...
Click to collapse
Obviously you can switch over to some apps by pulling down the notification menu and selecting the appropriate app. That only works on apps that put themselves in the notification menu though (multimedia apps and things like Google Nav usually do this).
Otherwise, you can press and hold the home button to bring up the list of 8 most recently opened apps without exiting the active app. This works but like I said, it's the 8 most recent apps, so it will list apps that aren't necessarily still running anymore. It's more of a shortcut to having to go search in your apps menu or home screens to find a recent app than a way to see what is currently running.
drumist said:
Otherwise, you can press and hold the home button to bring up the list of 8 most recently opened apps without exiting the active app. This works but like I said, it's the 8 most recent apps, so it will list apps that aren't necessarily still running anymore. It's more of a shortcut to having to go search in your apps menu or home screens to find a recent app than a way to see what is currently running.
Click to expand...
Click to collapse
What can I say, I hate pressing the home key to hunt for the icon that opens the app I already opened more than 6 other apps ago ;] Guess I'll stick to Multitasking Lite for the time being. Thanks!

When you hit the home button, does the program close?

When you have a program open, example is a video player. When I hit the home button does that program really fully close? Why I ask this is because I'll open up a web browser and input a web page. Before the web page even fully loads I'll hit the home button. Then even after a few minutes I'll load up that same browser and that page that didn't fully load will be there loaded up. I just want to make sure that when I close a program, it really is closed. That's all.
Hitting home does not "Close" or quit the program it rather puts it in the back round to fully quit it you must hit the recent apps button (Third on the left) and swipe the app away or get a task manager for those pesky back round apps.
Tech Faded said:
Hitting home does not "Close" or quit the program it rather puts it in the back round to fully quit it you must hit the recent apps button (Third on the left) and swipe the app away or get a task manager for those pesky back round apps.
Click to expand...
Click to collapse
Actually swiping apps away from recent list doesn't really close the apps. It just removes them off the recent list. Only a task manager can do that or going into settings, then apps, then force stopping it. But really,Android manages the memory very well itself. Alot of times, the way Android works, manually stopping a program will be more harm than good. Most of the time Android will just pull it back up itself therefore causing more CPU usage for that task tl bring it back. ANDROID keeps some apps semi-loaded. Ones it feels with load faster once you launch it since its already partially loaded. ANDROID is not like a PC where the processes in background will automatically slowbthings down or drain battery faster. Only certain apps that truly run in background can have that effect if too many loaded up. Whatever you do, don't use any auto memory killers or auto task managers or battery saver apps like juice defender, etc... those do more harm than good.
Unless your tablet is running with alot of lag, just try to ignore or resist the urge to keep constantly killing apps or whatever. You will see Android itself does a great job at managing it and will free up memory when actually needed. I'm still trying to do the same also resisting the urge. I just use Asus built in Task manger widget to see what's running in the background. If something clearly not needed then ill kill it. Beware though not to kill system apps or you might cause them to crash or be unstable.
A good app I came across is called BetterBatteryStats. Made by an xda member. Just type name of app in search box here in forum. That app will let you see what's truly running in the background and using up most battery or CPU processes. Has some great tips in there also in help section. IT LET me see how the Google currents app, although I wasn't using it, kept running in the background and using up processes and adding to battery drain. I would always see it pop up in my task manager although I never opened it and I have the refresh data set to long intervals. So it's basically a rouge app..lol. I uninstalled that mofo. Its a great app but runs to much in background regardless of data refresh settings and sometimes doesn't allow prime to stay in deep sleep when screen is off. Partial wakelocks, kernel wakelocks, etc...are all things you have to look over when determining what apps are causing most battery drainage or not allowing prime tl stay in deep sleep. Because they will partial wakelock n get data or whatever. It gets technical..lol learned alot from that one app. Free here in xda forums .
demandarin said:
Actually swiping apps away from recent list doesn't really close the apps. It just removes them off the recent list. Only a task manager can do that or going into settings, then apps, then force stopping it. But really,Android manages the memory very well itself. Alot of times, the way Android works, manually stopping a program will be more harm than good. Most of the time Android will just pull it back up itself therefore causing more CPU usage for that task tl bring it back. ANDROID keeps some apps semi-loaded. Ones it feels with load faster once you launch it since its already partially loaded. ANDROID is not like a PC where the processes in background will automatically slowbthings down or drain battery faster. Only certain apps that truly run in background can have that effect if too many loaded up. Whatever you do, don't use any auto memory killers or auto task managers or battery saver apps like juice defender, etc... those do more harm than good.
Unless your tablet is running with alot of lag, just try to ignore or resist the urge to keep constantly killing apps or whatever. You will see Android itself does a great job at managing it and will free up memory when actually needed. I'm still trying to do the same also resisting the urge. I just use Asus built in Task manger widget to see what's running in the background. If something clearly not needed then ill kill it. Beware though not to kill system apps or you might cause them to crash or be unstable.
A good app I came across is called BetterBatteryStats. Made by an xda member. Just type name of app in search box here in forum. That app will let you see what's truly running in the background and using up most battery or CPU processes. Has some great tips in there also in help section. IT LET me see how the Google currents app, although I wasn't using it, kept running in the background and using up processes and adding to battery drain. I would always see it pop up in my task manager although I never opened it and I have the refresh data set to long intervals. So it's basically a rouge app..lol. I uninstalled that mofo. Its a great app but runs to much in background regardless of data refresh settings and sometimes doesn't allow prime to stay in deep sleep when screen is off. Partial wakelocks, kernel wakelocks, etc...are all things you have to look over when determining what apps are causing most battery drainage or not allowing prime tl stay in deep sleep. Because they will partial wakelock n get data or whatever. It gets technical..lol learned alot from that one app. Free here in xda forums .
Click to expand...
Click to collapse
I was under the assumption that ICS fixed that? I suppose I was mistaken I apologize for my misunderstanding.
Demandarin, what makes you think swiping doesn't close a program? It does and its very obvious it works, just swipe then open the same program and you will see it starts over and will not be where you left off.
Try Settings > Developer Options > Don't Keep Activities. Sounds like it will fully close tasks once they are closed.
atgmartin said:
Try Settings > Developer Options > Don't Keep Activities. Sounds like it will fully close tasks once they are closed.
Click to expand...
Click to collapse
This is a very bad setting to enable if you ever have to switch back and forth between two different activities (for example email & web browsing). In general you should just leave the developer options alone.
As for closing apps.. why does it matter?
Apps that are not actively running don't use CPU and therefore don't use battery. Some apps sync information in the background, such as weather apps and email and while they do this battery is being used, however you can optimize the frequency of the updating to preserve as much battery life as possible.
In general unless you have experiencing performance issues, let Android manage itself.
If you absolutely need to turn off running apps, use the Asus Task Manager widget that comes pre-loaded on your tablet. You can use the Asus Task Manager to kill individual apps or all apps with a single click.
ON ICS, the swipe does stop the task running in the background, but I've seen where it the app may begin again, but as a background activity as almightywhacko describes.
People don't understand. Apps DON'T "run" in the background. They only run when you interact with them.
Buff McBigstuff said:
People don't understand. Apps DON'T "run" in the background. They only run when you interact with them.
Click to expand...
Click to collapse
Well, it depends. Apps don't run in the background like they do in windows, but some apps do continue to run processes in the background like data syncing and what not. However, it the app doesn't do this stuff then it only holds its state.
Also, I have not seen swiping recent apps closing apps. I think it is just happenstance if an app is closed by swiping it off the recent apps. Looking at the logging and monitoring the app state I have seen no correlation between running/not running apps and the recent app list.
However, as other people said, manually closing apps in Android will most likely reduce your performance rather than do anything beneficial.
I always get mad at those stupid apps that pretend to be providing a service. They won't go away. even if kill them they just come back(like Kenny). The app that likes to bother me the most is Zen pinball. I really like the game but it is always popping up prompting me to enable openfeint which I had already signed up for. I press enable but it still does not go away.
UmbraeSoulsbane said:
Well, it depends. Apps don't run in the background like they do in windows, but some apps do continue to run processes in the background like data syncing and what not. However, it the app doesn't do this stuff then it only holds its state.
Also, I have not seen swiping recent apps closing apps. I think it is just happenstance if an app is closed by swiping it off the recent apps. Looking at the logging and monitoring the app state I have seen no correlation between running/not running apps and the recent app list.
However, as other people said, manually closing apps in Android will most likely reduce your performance rather than do anything beneficial.
Click to expand...
Click to collapse
Only if they spawn a service. As far as activities, which most people would consider to be the "app" part, those do not run in the background. It just sits until it gets killed or used.

My life is changed forever

I just discovered that you can get rid of apps from the recent apps menu (the square button next to the home button) by swiping them to the side. I don't know why this makes me so retardedly happy, but I am sure that SOMEONE else out there will also appreciate this tidbit of information.
Anyone else have any nuggets of joy to share?
I liked that trick also when I first found out. Another thing too is that you can hold down the app in recent menu and a quicksetting will come up to let you remove it from list or look at app info.
Remember though, this only removes it from recent apps list. It doesn't close down the app itself.
Does it really matter though performance wise? I Always thought Android puts background apps into an "idle" state where they dont take up any resources until used? Although it is cool for people with OCD like me
demandarin said:
I liked that trick also when I first found out. Another thing too is that you can hold down the app in recent menu and a quicksetting will come up to let you remove it from list or look at app info.
Remember though, this only removes it from recent apps list. It doesn't close down the app itself.
Click to expand...
Click to collapse
Yes it does close the app. It just doesn't close background processes of the app.
Swiping an app from recent apps menu removes the app from cached memory, but keeps the background sync's (if it has any) still running. So you can kill off Facebook, but it's background sync (that would be started during system boot up anyway) remains.
You can test it, if you swipe browser from recent app's memory, it has to reload the page it was on. Same with Facebook app. But Facebook app's background process keeps running until you 'force stop' it.
Android application architecture runs in two layers, foreground and background processes. UI and the things you can use are written to memory when focus is lost from those apps, clearing them from recent apps also clears the memory those apps take at the time.
Is it useful? Yeah, for some things. But it won't improve your performance in any real noticeable way. Best you can do is swipe away apps that you don't need, keeping only apps that you want to keep in memory should you re-open them again. But that's usually too much micro-management to be worth it.
kristovaher said:
Yes it does close the app. It just doesn't close background processes of the app.
Click to expand...
Click to collapse
Perhaps, BUT, not every app in the recent apps list is actually running. That's why many times (most of the time?) the screenshot isn't what you actually see when you select an app from the list--you're really restarting it.
I think it's safest and easiest to just assume that you're really only removing apps from the recent apps list, not actually managing what's running in any way.
DroidHam said:
Does it really matter though performance wise? I Always thought Android puts background apps into an "idle" state where they dont take up any resources until used? Although it is cool for people with OCD like me
Click to expand...
Click to collapse
Yeah it doesn't make any difference performance wise, but it makes the menu much more useable for me =D
Thanks for this message, this is my first android device and I've been trying to figure out how to "close" applications. Did a search in here (I think), prime manual search and googled it. I am slightly OCD and like to "close" thinks that I'm not using. Harkens back to my early Windows days when you closed apps to conserve memory.
In the manual it says to close application by clicking on an X in the recent apps menu. Though unless it is super tiny, there isn't one.
redandblack1287 said:
I just discovered that you can get rid of apps from the recent apps menu (the square button next to the home button) by swiping them to the side. I don't know why this makes me so retardedly happy, but I am sure that SOMEONE else out there will also appreciate this tidbit of information.
Anyone else have any nuggets of joy to share?
Click to expand...
Click to collapse
if you have the dock, 2 finger gestures on the touchpad act as screen swipes. i.e. swipe two fingers across the tab, the tab changes screens. Also, if you want to actually kill the apps, add teh asus task manager widget to a screen. works great!
elybug said:
In the manual it says to close application by clicking on an X in the recent apps menu. Though unless it is super tiny, there isn't one.
Click to expand...
Click to collapse
That was an ASUS Honeycomb customization. It went away in ICS...
redandblack1287 said:
I just discovered that you can get rid of apps from the recent apps menu (the square button next to the home button) by swiping them to the side. I don't know why this makes me so retardedly happy, but I am sure that SOMEONE else out there will also appreciate this tidbit of information.
Anyone else have any nuggets of joy to share?
Click to expand...
Click to collapse
if you have the dock, 2 finger gestures on the touchpad act as screen swipes. i.e. swipe two fingers across the tab, the tab changes screens. Also, if you want to actually kill the apps, add the asus task manager widget to a screen. works great!
kristovaher said:
Yes it does close the app. It just doesn't close background processes of the app.
Swiping an app from recent apps menu removes the app from cached memory, but keeps the background sync's (if it has any) still running. So you can kill off Facebook, but it's background sync (that would be started during system boot up anyway) remains.
You can test it, if you swipe browser from recent app's memory, it has to reload the page it was on. Same with Facebook app. But Facebook app's background process keeps running until you 'force stop' it.
Android application architecture runs in two layers, foreground and background processes. UI and the things you can use are written to memory when focus is lost from those apps, clearing them from recent apps also clears the memory those apps take at the time.
Is it useful? Yeah, for some things. But it won't improve your performance in any real noticeable way. Best you can do is swipe away apps that you don't need, keeping only apps that you want to keep in memory should you re-open them again. But that's usually too much micro-management to be worth it.
Click to expand...
Click to collapse
that's what I meant. I should of been more clear then. just swiping it doesn't close down app "Completely", meaning no background process either. you have to use a task manager or Force stop in order to "Truly" close n stop an app from running.
elybug said:
In the manual it says to close application by clicking on an X in the recent apps menu. Though unless it is super tiny, there isn't one.
Click to expand...
Click to collapse
There isn't any in ICS, only in HC.
i didn't know that either until last week! ice cream is awesome :]
Conduitz said:
if you have the dock, 2 finger gestures on the touchpad act as screen swipes. i.e. swipe two fingers across the tab, the tab changes screens. Also, if you want to actually kill the apps, add teh asus task manager widget to a screen. works great!
Click to expand...
Click to collapse
You know.....that Asus task manager widget does not work on mine. It doesn't matter if I press x next to one app or select kill all - nothing happpens. I think mine is broken
I removed it from one of my home screens, no need to have it if it doesn't work
demandarin said:
that's what I meant. I should of been more clear then. just swiping it doesn't close down app "Completely", meaning no background process either. you have to use a task manager or Force stop in order to "Truly" close n stop an app from running.
Click to expand...
Click to collapse
It's a bit different though, because those background processes will (likely) already be running even if you don't start the app. Most of those background processes are started by boot activity in Android and others are started by scheduling activities (such as alarms or certain notifications and sync). These will be usually restarted once app is started again too (after Force Close) and if they are not already running (and they usually are).
Force Close is unnecessary unless you know that a certain app is bad for the system and was run accidentally, etc.

Is it a good idea to constantly "swipe" apps away?

Is it a good idea to constantly long-press home button and swipe the recently opened apps away? Is this the equivalent of "killing" the apps? I'm asking because I read that killing your apps is usually a bad idea because your RAM should always be used and it actually hurts your battery life. Is there a difference between this and going to the process manager and deleting the process?
When should I swipe recently opened apps away? Currently, I do this to free some RAM but I'm not sure if it's necessary.
Does your swipe include killing apps ? or it just removes it from recent apps list ?
if it kills , I'd say that don't swipe away important applications that you constantly use like launcher,browser,whatsapp etc
on the other hand you can swipe off apps you rarely use and which might be open like games , or other apps
you are right about swiping the important apps,it does more harm than good
Sent from my GT-S5670 using xda premium
mindstormer said:
Is it a good idea to constantly long-press home button and swipe the recently opened apps away? Is this the equivalent of "killing" the apps? I'm asking because I read that killing your apps is usually a bad idea because your RAM should always be used and it actually hurts your battery life. Is there a difference between this and going to the process manager and deleting the process?
When should I swipe recently opened apps away? Currently, I do this to free some RAM but I'm not sure if it's necessary.
Click to expand...
Click to collapse
When you swipe away recent apps you are essentially "exiting" the app safely where as when you use a task manger application you are force closing the application on the spot. This is not the same as "killing" the app in a technical sense what is happening is two things. The first thing that is happening when you swipe away a recent app is it kills any background process or empty processes of the application in a safe manner (Check out this section of the Android developer guide for more info on what this is about) unlike a task manger which just kills the entire application process negatively effecting performance. Second what is happening is the new API is used to tell any services of the action that is what removed so that the system can appropriate action such as starting a new process or service (For more on this see this section in the Android developer documentation). In answering you RAM question Android manages it's own memory which is why task killers once again mess this up and hurt rather then help performance. The recent application list shows what apps were recently used and clearing this will tell the applications to exist free some memory but some of their background services and tasks will still always run in the background as part of the app using some memory and battery. To explicitly and completely stop an app from memory you can go to Android built in application manger under System Settings > Application Manger and then go to the running tab and see what applications are running in the background. Overall, removing recent applications will help battery life but as previously mentioned the apps background processes will use some of system's battery and memory resources. If you are interested in learning more about this I would recommend checking out this.
shimp208 said:
When you swipe away recent apps you are essentially "exiting" the app safely where as when you use a task manger application you are force closing the application on the spot. This is not the same as "killing" the app in a technical sense what is happening is two things. The first thing that is happening when you swipe away a recent app is it kills any background process or empty processes of the application in a safe manner (Check out this section of the Android developer guide for more info on what this is about) unlike a task manger which just kills the entire application process negatively effecting performance. Second what is happening is the new API is used to tell any services of the action that is what removed so that the system can appropriate action such as starting a new process or service (For more on this see this section in the Android developer documentation). In answering you RAM question Android manages it's own memory which is why task killers once again mess this up and hurt rather then help performance. The recent application list shows what apps were recently used and clearing this will tell the applications to exist free some memory but some of their background services and tasks will still always run in the background as part of the app using some memory and battery. To explicitly and completely stop an app from memory you can go to Android built in application manger under System Settings > Application Manger and then go to the running tab and see what applications are running in the background. Overall, removing recent applications will help battery life but as previously mentioned the apps background processes will use some of system's battery and memory resources. If you are interested in learning more about this I would recommend checking out this.
Click to expand...
Click to collapse
soham jambhekar said:
Does your swipe include killing apps ? or it just removes it from recent apps list ?
if it kills , I'd say that don't swipe away important applications that you constantly use like launcher,browser,whatsapp etc
on the other hand you can swipe off apps you rarely use and which might be open like games , or other apps
you are right about swiping the important apps,it does more harm than good
Sent from my GT-S5670 using xda premium
Click to expand...
Click to collapse
Awesome, thanks for the informative posts.

Categories

Resources