For Locale, Both GPS and Wifi triggers can drain the battery more quickly.
Locale's built-in location condition can consider cell towers without GPS if you set the diameter of the location condition to about 2km.
There is also a Locale condition plugin, "Location (energy-saving)", which uses cell towers to determine location. It takes advantage of the fact that the phone is already listening for towers. The biggest potential drawback for using the energy-saving location is when you are in an area dense with cell towers, like a major urban downtown with lots of tall buildings (especially if you work higher up where lots of towers are visible to the phone).
I am the developer of Locale.
Battery life is a key metric that we test extensively. The only feature in Locale that has any real effect on the battery is the Location condition. At the time of this writing, the Location condition in Locale 1.4.3 can accurately detect 100-meter location changes within 4 minutes on average, while using 3% or less of the battery.
If you've configured Locale to turn Wi-Fi or Bluetooth on/off, then battery life may actually improve depending on the exact configuration.
I am a long-time user of Locale and a fairly new user of Tasker. I find both to be very helpful tools in managing my device automatically.
I use Locale for all GPS-related tasks. Vibrate when at work between work hours. Silent when at home between sleeping hours. When I first installed Tasker I ported over these profiles and found that my battery life was decreased dramatically no matter how I tweaked the polling settings.
Tasker is more of a action/response application in my setup. When placed in the Car Dock, Tasker autokills the Car Home application, enables Bluetooth, and launches Google Navigation. When headphones are plugged in launch the Cubed music player. Disable vibration on all notifications when the computer USB cable is plugged in.
I don't mind running both or having paid for both but I was disappointed in that I couldn't accomplish everything in Tasker. The dual setup gives me at least 30% more battery life than running Tasker alone.
If you do choose Tasker, be sure to experiment with the polling frequency of GPS and network-based location. That also helps vary the battery usage dramatically.
If you trigger events by GPS co-ordinates (and possibly wifi), then they'll drain your battery significantly, like any other GPS app would do.
If you trigger events by date/time, etc. then you'll experience minimal battery reduction. Often the benefits of these apps weigh beyond any downside, i.e. turning your brightness down or screen timeout down when your battery is getting low.
don't forget that when using sensor based profiles.. combine them with non-sensor based..
like dont use a profile that will only check light level and adjust the display.. combine it with 'Display On' and a cooldown of some minutes.. and dont let it change level if it already has that level..
the battery use is in the hands of the user. check every profile you create if it uses any additional battery and if so.. tweak it.
always have your location checked on cell instead of gps and if more accuracy is needed, still have your gps triggered by cell near.. so you get near an area, that will turn on the gps.. trigger your app... and have it switch off gps as soon as app is killed...
when configuring cell near, let it 'roam' for at least a minute, so you get all the cells needed.
this kind of making tasks will make tasker a true battery saver.
I've been using Locale to turn on WiFi and to switch to 2g based on location and have seen battery life improve. This was on my Rooted g1/CM5 and also on my g2/CM6.
On my g2, keeping WiFi on at home and turning to 2g when at work improves battery life a lot. I also turn off Sync while at work.
As Locale, Tasker tries to minimize battery drain. Of course, if using GPS location, it needs to check GPS -- which itself consumes a lot of battery when permanently updating the current position. But there's an easy solution to this issue.
Combining location conditions is where saving can kick-in:
- If you only need a raw position, stay with the Cell Near condition. As cells are either known to the system for telephony issues, this needs no "extra power".
- If Cell Near is not exact enough, going with network based location is a little more accurate -- though this requires a little more battery power as well.
- If you need an as-accurate-as-possible location, combine conditions. E.g. put a Cell Near condition for the raw location, and add a GPS position for more accuracy. Tasker then would use GPS only when the Cell Near condition matches. This way you have the best of two worlds: Energy saving while not close to the configured locations, and accuracy for triggering the desired action.