[Greenify] lioux:
There seems to be a lot of confusion about what Greenify does.

It is a GUI (graphical interface) that lets you select applications that you don't want running on the background, starting automatically when the phone boots or responding to intents. It provides useful data about running applications so that you may make an informed decision.

It uses the android command "am" to stop an application. It will no longer start during phone boot, respond to registered intents or be triggered by alarms from the system.

# am force-stop package.name
# am start package.name

Everything it does is temporary. The am command does not touch the installed files or any configuration information. It merely tells the system to forget about the application.

The system re-learns some of the intents again the next time the application is executed: launched by the user or launched by another application. If the application does not behave as expected after being awakened, remove it from Greenify then reboot your phone. Some applications do not re-register events when executed. Sometimes, they only do it at boot. Furthermore, applications might have specific "relationships" that might be disturbed when one is stopped (location service for instance). So awakening does not guarantee that an application will resume exactly as before. However, I haven't had a problem yet.

That's why Greenify keeps watching. It applies the am command again if the application is wakened by any action whatsoever. That's what hibernating means.

Freeze (disable) is something related to Android command pm = package manager. It effectively bars the system from accessing your application by changing initialization files. It requires the user to "defrost" (enable) the application before usage. It's much less convenient and more intrusive than Greenify.

# pm disable package.name
# pm enable package.name

Greenify "hibernation" can be forced by the user using the |> (play icon) or automatically. By automatic I mean: it will try to hibernate the applications after the screen has been off by a certain time or when triggered from Tasker via a plugin.

To sum up, Greenify in no way modifies your applications. Whatever it does is temporary and only lasts until the next time the specific application is executed. Greenify will reapply the fixes when triggered to do so... As many times as necessary.

I hope this explanation helps. Let me know if any information is incorrect.

Excellent work from Oasis Feng. I can't wait for further development. :) Suggestion: Add a in-app donation menu option. Make it convenient for people to pay you a beer/tea. ^.^

- Android Debug Bridge manual: am, pm, etc

https://developer.android.com/tools/help/adb.html

Version 1.8 introduced a neat feature that I didn't see mentioned on several pages worth of posts.

The Xposed module acts as a GCM proxy. :) I say proxy as a software design pattern.

For example, I hardly use Line but I need it avaliable so that someone may contact me. Same with several IM and social apps.

You want them running on the background so that you notice direct messages ASAP. However, those are mostly wasted resources given that you might not receive any communications... Today or even this week.

Since I have limited resources (Galaxy Nexus), I had removed several of these applications. With Greenify 1.8 Xposed module, I can install them all again.

Line receives instant messages through GCM. I hibernate Line. Greenify notes that Line monitors GCM. Greenify now will monitor GCM for Line messages. He acts now as a proxy for Line.

When the Line servers send a message to my phone through GCM (Google Cloud Messaging), Greenify wakes up Line to process it.

So Line only consumes resources when it should. When there's work to do.

Keep in mind that your status is offline since Line is not actually running.

I've confirmed this is working perfectly for Gmail, Google+, Facebook and Line.

This feature alone takes Greenify to a whole new level. Now, GCM enabled applications can resume seamlessly without manual intervention.

Google take note. This should be part of Android: register to be woken up ;) I really hope it becomes part of the Android API.

One thing, please don't come asking for seamless resume of this or that application. As far as I understood, it is only for background GCM processing: IM and push notifications.

If you think you found an application that fits the bill but it is not being resumed... Ask the application developer (of the other application) if it uses GCM instead of an proprietary API. Using GCM saves battery, resources and, now, allows seamless hibernation/resuming.

This has officially become number 2 (Super User comes 1st) MUST have application for Android. :)

1) Buy Donate version

2) Install Xposed framework: http://xdaforums.com/showthread.php?t=1574401

3) Bug circumvention: Titanium Backup Greenify Donate: backup, uninstall then restore (http://xdaforums.com/showpost.php?p=41265137&postcount=1771)

4) Activate Greenify module on Xposed

5) Reboot

6) Enjoy

As always, don't come crying if an application is not behaving as expected after hibernation. Not all applications can be safely hibernated. Don't count that applications will all resume, this is a beta feature and does not make guarantees.

#Greenify #root #xda #android #androidapps #proxy #aspectorientedprogramming

#aop #java #limitedresources #xposed #xposedframework #GCM #GoogleCloudMessaging