Hi.
Since coming from android I've been a frequent user of apps who lets the phone change it's settings due to specific triggers, like turning silent at night and loud in the morning, turning silent when a certain calendar happening occurs, turning of wifi when leaving home etc.
Is there anything like this for using along with windows phone?
Thanks in advance
Pemell
Actually, (some of) this is theoretically possible, but nobody has done it so far. It's also not going to be allowed on the Marketplace; you'd need to use some unofficial APIs.
For example, the DllImport Project already has shown the ability to control the phone's volume. Programmatically muting the phone at a certain time, for example one minute after a meeting is supposed to start, should be pretty easy.
The trick would be to make sure the phone also un-mutes it when the meeting ends. WP7 doesn't (officially) allow third-party software to run continuously in the background, and while you can schedule a time for the software to run, it make no guarantee ot to-the-minute accuracy. There are ways around the official restrictions, but most of them have serious battery-life considerations (although telling the process to sleep for the next 30 minutes * 60 seconds * 1000 miliseconds would probably work without draining battery). Additionally, I'm not sure how much access apps officially have to calendar data, although on interop-unlocked or full-unlocked phones there are varius ways to access that data.
For things other than volume control, like enabling or disabling WiFi (almost completely unneccessary on WP7, the WiFi power management is, if anything, too conservative already) you'd need to find the place in the OS that controls it. Probably just sending SetDevicePower to the Wifi driver would work to disable it, though I don't know if that would show up correctly in the UI.
Related
Please dont 'quote' this as it VERY lengthy, just copy and paste the this first sentence.
I wanted to write up a definitive posting on task killers as I think they are way to often misused and misunderstood and I am getting quite tired of reposting this same information.
I use a task killer called TaskPanel XTRA (its free). BUT, I ONLY use it for killing tasks that are misbehaving (an app that has slowed down or nearly hung your phone or an app that is CLEARLY causing battery drain or sending copious data via your cellular connection). If an app continues to misbehave, switch to a different app that offers the same functionality, do NOT continue to use a task manager / task killer to kill an app continuously.
Task killers should NEVER be configured to automatically kill an app (as I will explain later in the post) and should NEVER be used to manually kill apps UNLESS it is a small emergency (as in major battery drain, copious cellular data, massive processor usage/memory usage preventing the user from using the phone normally).
Android is a VERY powerful operating system which gives YOU THE USER the control to manage your phone (hence the major reason I dont like the IPhone or Windows Phone), but with that control comes responsibility. As I will explain shortly, Android has many built-in features in place to help you manage your phone's precious memory. While there has been much nonsense one way or the other as to whether task killers should be used for anything other than a misbehaving app, I tend to listen to the creators of a product before I listen to some jackass who bases a decision on pure speculation or a 'feeling' he has. I can tell you that I have not used Task Panel in the last 4 months (with the exception of I believe Pandora which I used about a month ago and could not find a way to actually exit the app - guess what...this app is no longer on my phone - both because of privacy concerns that recently came up about Pandora AND I dont keep apps around that I cant manually exit the app cleanly).
For a VERY good write up (with a brief 'readers digest' summary at the bottom with plain English bullet points, since most of the article is taken directly from the Android developer FAQ and is very techy for non-programmers), have a gander thru this.
http://geekfor.me/faq/you-shouldnt-b...-with-android/
And for the FAQ they quote most of the above article from (but I do recommend you read the above FIRST as it will give you some context - much of the reasons are 'cherry picked' from different areas of the FAQ to help you understand why this is important and give you the information that is relevant to the discussion as to why task killers are not a good thing). All of the relevant information is in the page that will load up (in the rightmost panel / frame) so you dont need to click any links to read the relevant article. I am only providing this link as a reference to the original source material so you dont think I am just making this up - this is straight from the horses mouth so to speak (again, for most people, dont read this FAQ, read the one above first to get context and then if you feel you want to know more, read this link below).
http://developer.android.com/guide/t...damentals.html
Alright, enough about task killers, now to deal with how to manage those pesky apps that seem to always be running (even if you never started them) and how to keep them from starting up using a method that will NOT affect Android and how it manages your memory but will keep your phone in peek performance.
For managing the conditions when an app starts up, use an app called Autostarts, do NOT use a task killer to 'auto kill' tasks. Autostarts literally allows you to control the conditions of when an app starts.
Android has built in functionality for managing the memory footprint of various apps and will manage your phones memory quite nicely. Much of the functionality of the built in memory management came in Android 2.2 (also sometimes referred to as Froyo) and is really quite good 'if' you allow the phone to manage processes rather than just quickly killing everything.
There is a reason you can no longer just 'kill' system level processes, Google wants you to allow Android to 'learn' how to manage itself.
Android has a very powerful feature, the ability for app writers to start their app when certain conditions occur. The problem with this powerful feature is, often times, apps are bloated or poorly written, many times being started for any little thing your phone does (wifi on or off, Bluetooth on or off, location changes, screen on or off, USB connected, cellular connection, headphones connected, a cow fart, a bird poops, etc.). Even Google itself has been guilty of this, Google Maps (until recently) would be started in nearly 20 different conditions as a background process for very trivial things and was a major source of battery drain (it still is to some extent). This is where Autostarts comes in. Use Autostarts to control the conditions of when/if an app will start up automatically based on a certain condition.
Most ancillary apps (apps that are not integral to the core functioning of the phone - although it is probably more appropriate to refer to these as 'user apps', it isnt quite accurate because many 'system apps' (which in the technical description are apps that are installed with the rom) are not core apps either. For example, many roms come with Youtube pre-installed (meaning you do not manually have to go to the market and install them) which is not integral to the core functioning of the phone), these apps do NOT need to ever start under ANY condition for that app to function normally. The only considerations for an app starting itself would be the widget updating, the app has a scheduled event (for example, an alarm, a podcast client downloading podcasts at a certain time of day, Titanium backup performing a scheduled backup, etc.), or an app that has to be running in the background to perform a task when certain conditions arrive (for example, an app called Sanity needs to be available to run and monitor for incoming/outgoing phone calls so that it can start itself and perform its function during a phone call).
Using Autostarts, I have disabled nearly 80% of EVERY condition that all NON-system apps start under (I havent counted but for 70 apps, this is probably 55 apps or so that I disabled EVERYTHING these apps would start under). This includes Google Maps (yep, even Google is guilty of having an app needlessly running when it doesnt need to).
By taking control of your apps (in essence, disabling as many apps from 'auto starting' until YOU the user launch the app manually) and properly quitting an app when you can (within the app, find a way to click a 'quit' or 'exit' button to allow the app to remove itself from memory) rather than just allowing apps you launch to run in the background, you can save yourself massive amounts of battery life, limit cellular data usage, AND allow Android to properly manage itself.
Think of it like this, if I were trying to learn something but you (the user) kept doing it for me, Id never learn. And if you read the above linked article, you will begin to understand why there is more to this than just allowing Android to learn.
To give you an idea, using Autostarts to disable any non-system app that does not need to be running, if I am using the stock battery, I can run my phone for 2 days pretty easily if I simply turn off cellular data, Wifi and Bluetooth when I dont need it, maybe even stretch it to 3 days.
My ram usage is almost always around 50% (150 MB free) on a fresh reboot (around 2 minutes to allow the phone to stabilize) and it remains this way during the day because I exit apps when I am done using them, even tho I have around 80 apps installed, and I dont allow apps to just start themselves because they sensed a fart in my general direction.
For those of you that use a Windows PC, you can think of Autostarts as a proper 'msconfig'. Keeping your PC clean of apps when windows starts keeps your PC running much more smoothly. Autostarts takes this to the next level and keeps apps from ever starting in the first place rather than a task killer 'auto killing' a task, the app restarting, the app getting 'auto killed' again by the task killer, the app again restarting, etc. (a vicious cycle that both kills your battery because the phone has to crank up the cycles on the processor to both start and stop the app, the power used to write and clear the data written to both ram and 'perma' storage (if an app needs to store any data), and cellular data (if an app 'phones home' so to speak when it initially launches (which is both a cause for additional battery usage to send data and also adds to the amount of data your phone transmits over the cellular network, which is a problem given most cell plans have a monthly data cap).
Autostarts is fairly easy to use but does require root.
The app is $2 and here is a brief synopsis of how to use it:
When you initially launch the app, read any dialog messages that appear and click ok thru them. Then, wait for the app to finish loading (there is a progress bar at the top that will fill with yellow - on my phone it takes about 45 seconds to a minute to finish loading in).
Once it is loaded, you need to configure a few things BUT, you might want to just scroll thru the list of things currently on the screen. These are the 150+ conditions that apps currently installed on your phone are starting up under (dont click anything just yet, just browse the list if you are curious).
Right now, the app is configured to show a list categorized by conditions. This unfortunately is not very helpful. We need to change it to sort this list by apps rather than by conditions (so that we can literally disable EVERYTHING an app will automatically start under rather than scrolling thru every condition).
So, hit your menu button and the top left most icon in the menu that appears is an icon 'Group by application'. Hit that icon and magically, you are now seeing every app. You can now click an app and see all the conditions every app starts under. Neat.
But there is one more setting to change first in order to help keep you from doing something you should not.
(Optional but HIGHLY recommended!) Hit your menu button again (if you exited out of the menu already) and hit the upper right most icon, the 'View' button. Tick the topmost checkbox, 'Hide system apps' and hit the 'Ok' button. This will keep you from disabling anything that 'may' be critical to your phone operating.
Now, exit the menu (the 'back' button on the phone itself).
If you decided not to hide system apps, these will appear in YELLOW. It is probably not a good idea to mess with these unless you know what you are doing. Messing with these can cause a soft brick or make your phone unusable in certain conditions (for example, if you prevent the phone.apk app from ever starting, you will never be able to take phone calls).
Now, start scrolling thru the list (start at the top). If it is an app that does NOT need to run in the background, expand the app by selecting it and starting with the topmost condition that app starts under, tap each condition and in the menu that appears, select 'Disable'. Do this for ALL conditions for each app you want to manage. When you are done disabling the conditions, go to the next app and decide again whether that app needs to run in the background or not.
As a brief summary, to consider whether an app should be allowed to run in the background, ask yourself the following:
Does the app:
a. ...have a widget that you are actually using on your home screen that needs to update? For example, a media player or weather widget should NOT be disabled...
b. ...have a scheduled event such as checking the weather, downloading new podcasts, checking email, etc?
c. ...need to perform a certain task or provide some extra function(s) when a specific event happens (such as recording a phone call when it comes in, an eq when audio is playing, etc.)?
My recommendation is, if you answered YES to any of the above questions, leave all the conditions that app starts under alone (unless you know what you are doing, its best not to mess with it as I will explain in a moment).
If you answered NO to all the above, DISABLE ALL of the conditions that app starts under (again, DONT mess with system (yellow) apps and certainly dont disable every condition for these).
I recommend an all or nothing approach for each app is because if an app doesnt behave properly, it can become a major pain to continue to open Autostarts and try to track down a specific condition you disabled that is stopping / preventing that app from functioning the way you want it to.
Every time you update or install an app, if you remember, try to open autostarts and review the conditions the app starts under. Updated apps often times will add something new and if you have this app completely disabled, it may find a way to start itself again.
And, dont worry, you cant permanently screw anything up (unless you are messing with system apps - get the reason why I recommend not playing with system apps?). If an app stops functioning correctly, just re-enable the conditions that app starts under. Pretty easy.
Hopefully, this is complete enough, I will now just link to this post everytime I need to mention autostarts. I am getting quite tired of posting this same information .
Good information for people. Well done.
Sent from me to you using stuff
TL;DR: Go down to summary to just grab the idea
I've been working a lot on optimizing my battery life, and I've become more aware about security concerns regarding Permissions, and I came up with an Idea that would make all of this a lot easier, even for unexperienced users.
Instead of giving apps general permission for wakelock, positionning or connectivity, there should be groups for these permissions. Let me explain with an example:
Say there is a permission group called "Instant Messenger connectivity" for apps like skype, facebook messanger, ICQ and such. you are able to set the update intervall for this group, there are 2 settings: phone in deep sleep and phone awake. The default deep sleep intervall would be like 1 or 2 minutes, the awake setting would be constant. Now every time the intervall runs through, the phone calls a hook that allows all apps in the group to check for new messages. If you want to optimize your battery life or bandwith useage and dont need to instantly know who is sending you a message you set the update intervall to, say 5 or even 15 minutes.
"E-Mail" group would be set to 15 minutes or an hour or 5 hours, whenever you want your not so urgent messages to be delivered. Or set it to "screen activated" so emails get checked when you actually look at your device.
"Updates" group would be allowed to check once a day.
Similar grouping would be done for GPS: One group would be "Navigation software" that would be constantly allowed to track your position, another group could be called "Check-Ins" or "Geographic postings" or something, those apps would only be allowed GPS access after a prompt. Permission through the promt lasts for 5 minutes or so during which the app can get your position, even several times if needed.
This way your navigation software works flawlessly, and you would be able to tag your photos or add locations to your posts or use check-ins but apps couldnt track or log your positions without you knowing it.
Similar thing for waking the phone: "alarms" group is able to wake your phone at any time to ring the alarm. "Maintainance" group would be triggered once every three hours or so.
Timing options would be something like: Always, every X seconds/minutes/hours, while screen is on.
The permission intervall should have a limited duration, which expires either after all the hooks are completed or after a fixed amount of time, stopping apps from gaining GPS permission to tag a post and afterwards keeping the permission to log your movement patterns, or keeping the internet connection alive while trying to get an info from a server that is not currently online or reachable.
Advantages
This would lead to a centralized settings, where you can - if you choose to - set how often you want updates or permissions granted for each group.
Instead of each app waking up the phone individually for their task, all the apps would get a signal to update at the same time, getting the best use out of the time the phone is not on deep sleep.
Permissions would be more transparent to unexperienced users, and it would be either very obvious if apps want permissions they shouldnt have, or they dont get tempted to go overboard with the use of the permissions they are granted.
Summary
- Apps are given permissions in matching groups allowing them permission to use the functions as the user sees fit
- Permissions work as hooks: Instead of letting the app decide when to trigger a certain event, i.e. connect to the internet or wake the phone, the phone decides when the permission should be activated and sends a command to the app which in return then does what it needs to do with the permission (check for messages, get your location etc.)
Disclaimer
This is more of a general demonstration of a principle, my coding knowledge or knowledge of procedures in android is not enough to describe the actual implementation.
I am also not sure at which level this would have to be implemented, i.e. if it could be done within a custom rom or it had to be implemented in the android kernel. I am well aware that it would probably require some recoding from the app developers, and this is not a simple tweak but a pretty big overhaul of the way android works. I just wanted to get the idea out there, just to get you guys thinking or giving you adifferent perspective on things.
Tell me what you think.
As the title asks, what is it? I know that turning off the screen with power button is not sleeping. I believe it is the state when it takes more than a second (lag) to unlock the screen. This means that the phone was in sleep state and I woke it up. But the question remains, that what is it? How and when is it activated? What happens when the phone is sleeping? Effect on battery (I believe it's positive)? The notifications like sms and call? Is only the screen asleep or are the other functions sleeping as well? Final question, Can I activate the sleep mode with the help of an application if it helps save the battery?
Note that I don't want to use battery saver apps because I don't want anything on my phone to stop. I paid for the whole phone, "including" gps, wifi and things like that. Smartphones are for us, we are not for smartphones.
usman farhat said:
As the title asks, what is it? I know that turning off the screen with power button is not sleeping. I believe it is the state when it takes more than a second (lag) to unlock the screen. This means that the phone was in sleep state and I woke it up. But the question remains, that what is it? How and when is it activated? What happens when the phone is sleeping? Effect on battery (I believe it's positive)? The notifications like sms and call? Is only the screen asleep or are the other functions sleeping as well? Final question, Can I activate the sleep mode with the help of an application if it helps save the battery?
Note that I don't want to use battery saver apps because I don't want anything on my phone to stop. I paid for the whole phone, "including" gps, wifi and things like that. Smartphones are for us, we are not for smartphones.
Click to expand...
Click to collapse
Technically; sleep mode starts the moment the screen is switched off. With the exception of applications which can prevent the phone from fully 'sleeping'. A good and obvious example is the music application which keeps the phone awake in order to play music.
There's really nothing special about sleep mode except that the phone will execute a lot more tasks together but less frequently in order to save power, so you're still able to receive all messages, emails, calls and all notifications (from apps). Applications can also be informed about the change in power state (awake to sleep and sleep to awake) and therefore change the way they behave.
The amount of sleep time the phone gets is dependent on the apps you have installed and the amount of emails, calls and other notifications you get. There isn't a way to enable 'sleep mode' with an application as it would make little difference if your display is on. Your display is the main cause of power consumption, as is true with all smartphones.
Battery Saver apps are dangerous, by killing apps they have a negative impact on the phone. If the application is needed, the phone will restart it and add to the CPU cycles. The same goes with memory freeing apps. GPS/Bluetooth/WiFi are there for when you need them. Keeping them on when they're not needed is a waste of the phone's resources. As the more CPU cycles they use, the more power they consume.
DennisBold said:
Technically; sleep mode starts the moment the screen is switched off. With the exception of applications which can prevent the phone from fully 'sleeping'. A good and obvious example is the music application which keeps the phone awake in order to play music.
There's really nothing special about sleep mode except that the phone will execute a lot more tasks together but less frequently in order to save power, so you're still able to receive all messages, emails, calls and all notifications (from apps). Applications can also be informed about the change in power state (awake to sleep and sleep to awake) and therefore change the way they behave.
The amount of sleep time the phone gets is dependent on the apps you have installed and the amount of emails, calls and other notifications you get. There isn't a way to enable 'sleep mode' with an application as it would make little difference if your display is on. Your display is the main cause of power consumption, as is true with all smartphones.
Battery Saver apps are dangerous, by killing apps they have a negative impact on the phone. If the application is needed, the phone will restart it and add to the CPU cycles. The same goes with memory freeing apps. GPS/Bluetooth/WiFi are there for when you need them. Keeping them on when they're not needed is a waste of the phone's resources. As the more CPU cycles they use, the more power they consume.
Click to expand...
Click to collapse
That's a good explanation
I have read about term "deep sleep" while searching for this, but the explanations on the internet are not clear to me. I have understood a part of it, that this state comes when phone is at rest for too long. The phone pauses apps and their processes, except those who are downloading e.g games and only does basic tasks such as incoming communications (message, call etc.) and sync. Again, I could not find answer to when it state/mode starts.
About GPS/Bluetooth/WiFi: I said this because I had seen people talking about how they have to force otherwise unnecessary restrictions on them and thus have to worry too much to save their batteries. This is what I don't like. Technology is made to facilitate people and to make their lives easy, that's what I believe. On the other hand, I always keep bluetooth off because I need it very rarely. Well, you may have other preferences but I have to keep gps on in order to geo tag photos and to make it ready whenever I open maps etc. Wifi according to me is life blood of smartphones. So I can't live without it either.
When I had Nokia 5800 I had to turn off auto rotate because its menu took time to refresh if I turned the phone by mistake. That was the time when I came to know how bad it feels to go through the settings to turn it on when I need it urgently.
So, this is just a general request. You may be able to do it with current ROMs, but a cursory Google search didn't turn anything up.
What I would like would be the ability to keep an app fully open and engaged in the background. That doesn't mean the usual pause status, but have the actual app fully running.
As an example: if playing Clash of Clans, every time you hop out of the app to another, the game has to re-sync with the server. While you are playing, it stays synced. While you are playing, you also cannot be attacked. Thus, if you could avoid the suspended state, you could never be attacked.
There is lots of usage for this I could see with various apps, especially games which require a certain grinding that operate server-side so can't be easily hacked. I get there would probably be downsides, such as likely severe battery use, but my phone is on the charger 75% of the day at work so this really isn't an issue.
Basically, I just want a way to avoid the suspend state and trick apps into thinking I always have them open. Let me know if there is any current way to do this or if you think this is a terrible idea for some reason.
Sent from my 4.4.2 Gummy S3 with Lean Kernel
Overview
Battery Saver Ultimate application provides the best power settings to saves the battery time of your device or your tablet. Whenever the battery runs low or goes too much down, just tap the power saver app to turn on the saving mode.
Battery savers help you to switch off all the extra functions like WiFi, Bluetooth, GPS, sound and other energy consuming apps on the device. The app will notify when the power gets down in percentage and it even shows the charging stages.
Charging Stages:
Free Battery Saver Ultimate app regulates the manner in which your device is charged with a Unique 3 Stage Charging system to ensure you get the most out of your battery and reminds you not to over charge.
Types of Mode :
1. Saving Mode: (Use in lowest Battery Status)
Device Brightness set to 10%
In Activate WiFi of the Device
Stand By time to 15 seconds
2. Sleep Mode: (Use when you sleep)
Turn Off Call & SMS and turn ON the Flight Mode
Set Vibrations Off.
Airplane Mode.
Sound Off and mute media sound too.
Brightness set to 10% or minimum level.
3. Customized Mode
You can Customize app usages as your need to save Battery Power.
Can adjust the battery saving setting freely depend on your need and usage.
Can adjust WiFi, Bluetooth, vibration, sound, device brightness, synchronization and stand by time.
Features and Requirements
Accurate battery remaining time
Shows Standby Time.
Accurate charging remaining time
Schedule power saving modes for work/class/sleep and more!
3 Stage Charging system 1. Fast charge 2. Continuous Charging 3. Tickle Charging.
Wifi/Data/Bluetooth/GPS/Flight Mode toggle!
Brightness control!
Shows Battery Health, Current Battery Power in mAH, Temperature, Voltage and Battery life status.
Interesting app. I installed it on my tablet. Look up how it will work. Pity that application is not in material design...
Can I say dodgy app here full of ads and nothing as you say it is. Gives me to play games and full of ads. Avoid
Looks very Good though
Full of ads, nothing like advertised. Avoid.
mr_stax123 said:
Looks very Good though
Click to expand...
Click to collapse
Please state more
i want to prevent apps to auto start to save battery and ram, which app should i use, grrenify or autorun manager or any other?
First, you need not concern yourself with free ram on an Android device. Android manages resources better by itself. As for the apps that launch on startup, you can got to menu>settings>apps and select the "running" tab to show you exactly what is really running. Then, the easiest way is to uninstall the app in question.
Automated task killers do nothing but cause more problems than they can potentially solve.
You might find this thread enlightening.
mr_stax123 said:
i want to prevent apps to auto start to save battery and ram, which app should i use, grrenify or autorun manager or any other?
Click to expand...
Click to collapse
The task killer discussion gets old. I think there is risk of oversimplifying both sides. ie on one side people want to treat it like pc...not correct. On the other side people seem to imply any discussion of memory management considerations is irrelevant/rejected because "android will handle it all"....which is not always entirely correct either. The latter may be closer to the truth especially for new devices, but there is still room for middle ground. Not all programs are equal, some launch "services" which takes priority over other app processes. Too many of those services can eventually crowd out cache and slow your phone down. Maybe most people with newer phones will never get there, but there are still people with older phones (including the op for all we know) and also some folks with new phones who (if they listen to the oversimplifications) may get carried away on the number and type of apps they install over the life of their phone
---------- Post added at 12:47 AM ---------- Previous post was at 12:43 AM ----------
Even so, killing off those services is not the answer. If an older phone has too many running services so it taxes it's resources then it's either time to uninstall some or get a device that can handle it. If it's a problem with the app itself hogging resources, then let the developer know and find an alternative.
If you try to tow a boat with a bicycle, the answer isn't to throw away the boat's engine to make it lighter. Similarly, a task killer may make the phone's performance improve briefly, but over time it will make things worse. And it fixes nothing.
An app preventing another app from "auto-starting" is a task killer. Look at it this way: The phone boots up and runs it's processes. The auto-start blocker detects an app it doesn't want to run, so it kills it. Now, depending on what app it is, the phone may call for it again and thus running it later, which defeats the purpose of an auto-start killer, unless that app is a task killer which again kills said flagged app to keep it killed.
The way to properly manage an app you don't want to have enabled on the phone at bootup is to disable the app on the system manager (newer phones have it AFAIK), freeze the app via Titanium or similar apps, get into the app settings and disable certain features like auto-sync and set everything to manual.
However, the OP did not specify what phone and which apps. It may be apps which the phone requires to run at some level, like Maps (which several apps call for), or maybe the apps he is seeing are just RAM cached, which really don't matter at all.
Adjusting with app settings is preferred if you can, but does not always solve the problem (I referred to wakelock/battery drain problem with a certain version of Maps on my previous phone ... many people we having the same problem at the time and the only way to stop it was to block the app from starting as indicated in link below, or else to freeze it). Freezing has the disadvantage that you cannot run the program easily (requires you to launch TiBu to thaw the program). If you have blocked the program from autostarting, then it does not start at boot or other automatic time, but it remains available to manually launch the normal way (clicking the program icon). At that point (if it's a program like Maps), it will probably stay running until next reboot. It was my preferred solution when maps was giving me wakelocks and battery drain on my phone. Maps didn't run automatically on boot and never started until I manually started it. After that point I could live with the battery drain or reboot
Rom Toolbox Pro is a great app with many features and of course, there's an auto start manager that allows you to disable various receivers off the apps that start on boot. There's also a freeze/deep freeze feature as well. Great app